Способ декодирования видеосигнала
Иллюстрации
Показать всеИзобретение относится к области декодирования видеосигнала. Технический результат – эффективное декодирование видеосигнала. Способ декодирования видеосигнала, содержащий: получение разностных образцов текущего блока и индекса опорного изображения; получение пространственного вектора-кандидата перемещения по соседнему в пространстве блоку относительно текущего блока; выбор связанного изображения, относящегося к временному вектору-кандидату перемещения текущего блока, на основании индекса опорного изображения; получение временного вектора-кандидата перемещения текущего блока по связанному блоку, при этом связанный блок включен в связанное изображение; генерирование списка векторов-кандидатов перемещения, содержащего пространственный вектор-кандидат перемещения и временной вектор-кандидат перемещения; определение предсказателя вектора перемещения на основании списка векторов-кандидатов перемещения и индекса кандидата текущего блока, при этом индекс кандидата указывает один из векторов-кандидатов перемещения, содержащихся в списке векторов-кандидатов перемещения; получение образцов предсказания текущего блока с использованием предсказателя вектора перемещения; и реконструирование текущего блока с использованием образцов предсказания и разностных образцов текущего блока. 5 з.п. ф-лы, 8 ил., 1 табл.
Реферат
Настоящая заявка выделена из заявки №2014119545 на выдачу патента РФ на изобретение, поданной 08.11.2012, с испрашиванием приоритета по дате подачи первых заявок KR 10-2011-0116126 и KR 10-2012-0125799, поданных в патентное ведомство Кореи 08.11.2011 и 08.11.2012, соответственно.
Область техники, к которой относится изобретение
Настоящее изобретение относится к кодированию и декодированию видеоданных, более конкретно, к способу декодирования видеосигнала.
Уровень техники
В последнее время в различных отраслях растет потребность в использовании видеоданных с большим разрешением и высоким качеством, таких как видеоданные высокого качества (HD; high-definition) и сверхвысокого качества (UHD; ultrahigh-definition). По мере повышения разрешения и качества видеоданных возрастает и объем данных по отношению к существующим в настоящее время обычным видеоданным. Соответственно, при передаче видеоданных с использованием, например, существующих в настоящее время проводных и беспроводных широкополосных линий связи или хранении видеоданных на существующих в настоящее время носителях информации возрастают затраты на передачу и хранение видеоданных. Для решения этих проблем, возникающих при увеличении разрешения и качества видеоданных, могут быть использованы высокоэффективные способы сжатия видеоданных.
Способ сжатия видеоданных содержит различные способы, такие как способ межкадрового предсказания для предсказания значений пикселей, содержащихся в текущем изображении, на основании предыдущих или последующих изображений относительно текущего изображения, способ внутрикадрового предсказания для предсказаний значений пикселей в текущем изображении с использованием информации о пикселе в текущем изображении и способ энтропийного кодирования путем присваивания короткого кода значению с высокой частотой появления и присваивания длинного кода значению с низкой частотой появления. Видеоданные могут быть эффективно сжаты и переданы или сохранены с использованием таких способов сжатия видеоданных.
Раскрытие изобретения
Целью аспекта настоящего изобретения является предложение способа декодирования видеосигнала для повышения эффективности декодирования видеосигнала.
В варианте осуществления настоящего изобретения предлагается способ декодирования видеосигнала. Способ включает получение разностных образцов текущего блока и индекса опорного изображения; получение пространственного вектора-кандидата перемещения по соседнему в пространстве блоку относительно текущего блока; выбор связанного изображения, относящегося к временному вектору-кандидату перемещения текущего блока, на основании индекса опорного изображения; получение временного вектора-кандидата перемещения текущего блока по связанному блоку, при этом связанный блок включен в связанное изображение; генерирование списка векторов-кандидатов перемещения, содержащего пространственный вектор-кандидат перемещения и временной вектор-кандидат перемещения; определение предсказателя вектора перемещения на основании списка векторов-кандидатов перемещения и индекса кандидата текущего блока, при этом индекс кандидата указывает один из векторов-кандидатов перемещения, содержащихся в списке векторов-кандидатов перемещения; получение образцов предсказания текущего блока с использованием предсказателя вектора перемещения; и реконструирование текущего блока с использованием образцов предсказания и разностных образцов текущего блока.
В таком способе связанное изображение может иметь временной порядок, отличный от текущего изображения, содержащего текущий блок.
Связанный блок может представлять собой блок, соответствующий той же позиции, что и текущий блок.
Соседний в пространстве блок может включать по меньшей мере один из числа левого соседнего блока и верхнего соседнего блока.
Множество векторов-кандидатов перемещения в списке векторов-кандидатов перемещения может быть расположено в порядке приоритета.
Множество векторов-кандидатов перемещения может быть расположено в порядке, соответствующем пространственному вектору-кандидату перемещения и временному вектору-кандидату перемещения.
Технический результат
В соответствии с настоящим изобретением способ декодирования видеосигнала повышает эффективность декодирования видеоизображения.
Краткое описание чертежей
На фиг. 1 показана функциональная схема устройства кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 2 показана функциональная диаграмма устройства декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 3 схематично показан способ сканирования коэффициентов в соответствии с настоящим изобретением.
На фиг. 4 показан способ определения и кодирования способа сканирования на основании режима деления блока предсказания в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 5 показан способ определения и кодирования способа сканирования в делении асимметричного перемещения (asymmetric motion partition, AMP) в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 6 показан способ определения и кодирования способа сканирования для внутрикадрового предсказания на малых расстояниях (short distance intra prediction, SDIP) в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 7 показана обобщенная схема операции кодирования видеоданных в соответствии с настоящим изобретением.
На фиг. 8 показана обобщенная схема операции декодирования видеоданных в соответствии с настоящим изобретением.
Осуществление изобретения
Настоящее изобретение может быть изменено или модифицировано различными способами и может быть проиллюстрировано со ссылкой на различные примеры вариантов осуществления, некоторые из которых будут описаны и показаны на чертежах. Однако эти варианты осуществления не предназначены для ограничения изобретения, но предполагают включение всех модификаций, аналогов и замен, соответствующих духу и объему охраны изобретения. Одинаковые обозначения позиций на чертежах относятся к одним и тем же элементам во всем документе.
Хотя могут быть использованы термины «первый», «второй» и т.д. для описания различных элементов, эти элементы не должны ограничиваться этими терминами. Эти термины использованы только для различения одного элемента от другого элемента. Например, первый элемент может быть назван вторым элементом, а второй элемент подобным образом может быть назван первым элементом без выхода за пределы сущности настоящего изобретения. Термин «и/или» включает все и любые комбинации множества соответствующих перечисленных элементов.
Следует понимать, что когда элемент описывают как «соединенный с» или «связанный с» другим элементом, такой элемент может быть напрямую соединен или связан с другим элементом или промежуточными элементами. С другой стороны, когда элемент описывают как «напрямую соединенный с» или «напрямую связанный с» другим элементом, промежуточные элементы отсутствуют.
Использованная в данном документе терминология используется только с целью описания частных вариантов осуществления и не предназначена для ограничения изобретения. Как использовано в данном документе, формы единственного числа предполагают также включение форм множественного числа кроме случаев, когда из контекста ясно следует обратное. Также ясно, что термины «содержит», «включает» и/или «имеет», использованные в данном описании, указывают на наличие указанных признаков, целых систем, шагов, операций, элементов и/или других компонентов, но не препятствуют наличию или добавлению одного или более других признаков, целых систем, шагов, операций, элементов, компонентов и/или их объединений.
В дальнейшем примерные варианты осуществления изобретения будут описаны детально со ссылкой на сопровождающие чертежи. Одинаковые ссылочные обозначения на чертежах относятся к аналогичным элементам во всем документе, и избыточные описания одинаковых элементов будут здесь опущены.
На фиг. 1 показана функциональная схема устройства кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
Как показано на фиг. 1, устройство 100 кодирования видеоданных содержит модуль 110 деления изображения, модули 120 и 125 предсказания, модуль 130 преобразования, модуль 135 квантизации (квантования), модуль 160 переупорядочения, модуль 165 энтропийного кодирования, модуль 140 деквантизации, модуль 145 обратного преобразования, модуль 150 фильтрации и память (запоминающее устройство) 155.
Хотя с целью пояснения различных отличительных функций устройства кодирования видеоданных элементы на фиг. 1 показаны независимо, данная конфигурация не означает, что каждый элемент представляет собой отдельный аппаратный компонент или программный компонент. Иными словами, элементы показаны независимыми для удобства описания; тогда как для выполнения функций два или более элементов могут быть объединены в один элемент, или один элемент может быть разделен на несколько элементов. Варианты осуществления изобретения, в которых некоторые элементы объединены в один составной элемент и/или элемент разделен на несколько самостоятельных элементов, входят в объем охраны настоящего изобретения без выхода за пределы сущности настоящего изобретения.
Некоторые элементы не являются необходимыми для основных функций изобретения и могут быть необязательными компонентами лишь для улучшения характеристик. Изобретение может быть осуществлено включением только необходимых для варианта осуществления изобретения компонентов, за исключением компонентов, использованных лишь для улучшения характеристик. Структура, включающая в себя только необходимые компоненты, за исключением оптических компонентов, использованных лишь для улучшения характеристик, входит в объем охраны изобретения.
Модуль 110 деления изображения может разделять входное изображение на по меньшей мере один блок обработки (process unit). При этом блок обработки может быть блоком предсказания (prediction unit, PU), блоком преобразования (transform unit, TU) или блоком кодирования (coding unit, CU). Модуль 110 деления изображения может разделять одно изображение на множество комбинаций блоков CU, PU и TU и выбирать одну комбинацию CU, PU и TU на основании заранее заданного критерия (например, функции стоимости), тем самым кодируя изображение.
Например, одно изображение может быть разделено на несколько CU. Рекурсивная структура дерева, такая как структура дерева квадрантов, может быть использована для деления изображения на блоки CU. CU, для которого изображение или CU максимального размера может быть корнем, может быть разделен на подблоки кодирования с таким же количеством дочерних узлов, как и у разделяемых блоков CU. CU, который более не разделяют в соответствии с заранее заданным ограничением, является листовым (концевым) узлом. Иными словами, при условии, что CU может быть разделен только на квадранты, одиночный CU может быть разделен самое большее на четыре различных CU.
В вариантах осуществления изобретения CU может быть использован для ссылки не только на блок для кодирования, но также на блок для декодирования.
PU может быть разделен на по меньшей мере одну квадратную или прямоугольную форму с тем же размером, что у CU. Форма PU, выделенных из одного и того же CU, может отличаться друг от друга.
При генерировании PU для внутрикадрового предсказания на основании CU и при условии, что CU не является минимальным CU, CU могут подвергать внутрикадровому предсказанию без деления на несколько PL) (N×N).
Модули 120 и 125 предсказания могут включать модуль 120 межкадрового предсказания для выполнения межкадрового предсказания и модуль 125 внутрикадрового предсказания для выполнения внутрикадрового предсказания. Модули 120 и 125 предсказания могут определять, какое из предсказаний, межкадровое или внутрикадровое, должно быть выполнено для PU, и могут определять характерную информацию (например, режим внутрикадрового предсказания, вектор перемещения и опорное изображение) определенного таким образом способа предсказания. При этом блок обработки, для которого выполняют предсказание, может быть отличным от блока обработки, для которого определены способ предсказания и характерная информация. Например, способ предсказания и режим предсказания могут быть определены для каждого PU, тогда как предсказание может быть выполнено для каждого TU. Разностное значение (разностный блок) между сгенерированным предсказанным блоком и оригинальным блоком может быть введено в модуль 130 преобразования. Кроме того, информация о режиме предсказания, информация о векторе перемещения и т.п., использованные для предсказания, могут быть закодированы вместе с разностным значением модулем 165 энтропийного кодирования и переданы в устройство декодирования. При использовании конкретного режима кодирования оригинальный блок может быть закодирован и передан в устройство декодирования без генерирования блока предсказания модулями 120 и 125 предсказания.
Модуль 120 межкадрового предсказания может предсказывать PU на основании информации о по меньшей мере одном изображении из числа изображения, предшествовавшего текущему изображению, и изображения, следующему за текущим изображением. Модуль 120 межкадрового предсказания может содержать модуль интерполяции опорного изображения, модуль предсказания перемещения и модуль компенсации перемещения.
Модуль интерполяции опорного изображения может получать информацию об опорном изображении из памяти 155 и генерировать информацию о пикселе менее, чем целый пиксел от опорного изображения. Для пикселов яркостного канала может быть использован 8-элементный интерполяционный фильтр с дискретным косинусным преобразованием (DCT) с переменным коэффициентом фильтра для генерирования информации о пикселе менее, чем целый пиксел в элементах 1/4 пиксела. В случае пикселов цветностного канала может быть использован 4-элементный интерполяционный фильтр с дискретным косинусным преобразованием (DCT) с переменным коэффициентом фильтра для генерирования информации о пикселе менее, чем целый пиксел в элементах 1/8 пиксела.
Модуль предсказания перемещения может выполнять предсказание перемещения (motion prediction) на основании опорного изображения, интерполированного модулем интерполяции опорного изображения. Для вычисления вектора перемещения могут быть использованы различные подходы, такие как алгоритм блочного сравнения на основе полного поиска (full search-based block matching algorithm, FBMA), алгоритм трехшагового поиска (three-step search, TSS) и новый алгоритм трехшагового поиска (new three-step search, NTS). Вектор перемещения имеет значение вектора перемещения в элементах 1/2 или 1/4 пиксела на основании интерполированного пиксела. Модуль предсказания перемещения может предсказывать текущий PU с использованием различных способов предсказания перемещения. В качестве способа предсказания перемещения могут быть использованы различные способы, такие как режим пропуска, режим слияния и улучшенное предсказание вектора перемещения (advanced motion vector prediction, AMVP) и т.д.
Модуль 125 внутрикадрового предсказания может генерировать PU на основании информации об опорном пикселе, соседнем с текущим блоком. Информация об опорном пикселе, соседнем с текущим блоком, является информацией о пикселе в текущем изображении. Если опорный пиксел является пикселом, для которого выполняется межкадровое предсказание, поскольку блок, который включает в себя опорный пиксел, соседний с текущим PU, является блоком, для которого выполняется межкадровое предсказание, информация об опорном пикселе, включенная в блок, для которого выполняется межкадровое предсказание, может быть замещена информацией об опорном пикселе в блоке, для которого выполняется внутрикадровое предсказание. Иными словами, если опорный пиксел недоступен, информация о недоступном пикселе может быть замещена информацией о по меньшей мере одном опорном пикселе из доступных опорных пикселов.
Режим предсказания для внутрикадрового предсказания включает режим направленного предсказания, в котором используется информация об опорном пикселе в соответствии с направлением предсказания и режим ненаправленного предсказания, в котором информацию о направлении не используют для выполнения предсказания. Режим для предсказания информации о яркостном канале и режим для предсказания информации о цветностном канале могут отличаться друг от друга. Кроме того, информацию о режиме внутрикадрового предсказания, использованную для получения информации о яркостном канале или информации о предсказанном сигнале яркостного канала можно использовать для предсказания информации о цветностном канале.
Если PU и TU имеют одинаковый размер при выполнении внутрикадрового предсказания, внутрикадровое предсказание для PU можно выполнить на основании левых пикселов, верхнего левого пиксела и верхних пикселов PU. С другой стороны, если PU и TU имеют различные размеры при выполнении внутрикадрового предсказания, внутрикадровое предсказание можно выполнить с использованием опорных пикселов на основании TU. Внутрикадровоое предсказание с использованием деления NxN можно выполнить только для минимального CU.
В способе внутрикадрового предсказания предсказанный блок может быть сгенерирован в соответствии с режимом предсказания после применения фильтра адаптивного внутрикадрового сглаживания (adaptive intra smoothing, AIS). К опорным пикселам могут быть применены различные типы фильтров AIS. В способе внутрикадрового предсказания режим внутрикадрового предсказания текущего PU может быть предсказан по режиму внутрикадрового предсказания PU, соседнего с текущим PU. При предсказании режима предсказания для текущего PU с использованием информации о режиме, предсказанной по соседнему PU, когда текущий PU и соседний PU имеют одинаковый режим внутрикадрового предсказания, информация, указывающая на то, что текущий PU и соседний PU имеют одинаковый режим предсказания, может быть передана с использованием заранее заданной информации о флаге. Если текущий PU и соседний PU имеют различные режимы предсказания, информацию о режиме предсказания для текущего блока можно закодировать посредством энтропийного кодирования.
Может быть сгенерирован разностный блок, содержащий разностную информацию, представляющую собой разность между оригинальным блоком PU и предсказанным блоком PU, сгенерированного на основании PU, сгенерированного модулями 120 и 125 предсказания. Сгенерированный разностный блок можно передать в модуль 130 преобразования.
Модуль 130 преобразования может преобразовывать разностный блок с использованием способа преобразования, такого как дискретное косинусное преобразование (Discrete Cosine Transform, DCT) или дискретное синусное преобразование (Discrete Sine Transform, DST). Разностный блок содержит информацию о разности между PU, сгенерированном модулями 120 и 125 предсказания, и оригинальным блоком. Способ преобразования, подлежащий использованию для преобразования разностного блока, может быть выбран среди DCT и DST на основании информации о режиме внутрикадрового предсказания, примененного к PU, который использовался для генерирования разностного блока.
Модуль 135 квантизации (квантования) может квантовать значения, преобразованные в частотную область модулем 130 преобразования. Коэффициент квантования может меняться в соответствии с конкретным блоком или значимостью изображения. Значения, выгруженные из модуля 135 квантизации, могут передаваться в модуль 140 деквантизации и модуль 160 переупорядочения.
Модуль 160 переупорядочения может переупорядочивать коэффициенты в соответствии с квантованными разностными значениями.
Модуль 160 переупорядочения может менять двумерный (2D) блок коэффициентов на одномерный (1В) вектор коэффициентов путем сканирования коэффициентов. Например, модуль 125 переупорядочения может менять двумерный блок коэффициентов на одномерный вектор коэффициентов путем сканирования от коэффициентов постоянной составляющей (DC) до коэффициентов высокочастотной области с использованием сканирования зигзагом. Вместо сканирования зигзагом может быть использовано вертикальное сканирование для сканирования двумерного блока коэффициентов в вертикальном направлении и горизонтальное сканирование для сканирования двумерного блока коэффициентов в горизонтальном направлении в зависимости от размера TU и режима внутрикадрового предсказания. Иными словами, используемый способ сканирования может быть выбран на основании размера TU и режима внутрикадрового предсказания среди сканирования зигзагом, вертикального сканирования и горизонтального сканирования.
Модуль 165 энтропийного кодирования может выполнять энтропийное кодирование на основании значений, полученных модулем 160 переупорядочения. Для энтропийного кодирования могут быть использованы различные способы кодирования, такие как экспоненциальный код Голомба (exponential Golomb coding), контекстно-адаптивное кодирование переменной длины (context-adaptive variable length coding, CAVLC) или контекстно-адаптивное двоичное арифметическое кодирование (context-adaptive binary arithmetic coding, CABAC).
Модуль 165 энтропийного кодирования может кодировать разнообразную информацию, такую как информацию о разностных коэффициентах или информацию о типе блока для CU, информацию о режиме предсказания, информацию о блоке деления, информацию о PU, информацию о блоке передачи, информацию о векторе перемещения, информацию об опорном кадре, информацию о блоке интерполяции и информацию о фильтрации из модуля 160 переупорядочения и модулей 120 и 125 предсказания.
Модуль 165 энтропийного кодирования может осуществлять энтропийное кодирование коэффициентов CU, введенных из модуля 160 переупорядочения.
Модуль 140 деквантизации и модуль 145 обратного преобразования деквантуют значения, которые квантованы модулем 135 квантизации и выполняют обратное преобразование значений, преобразованных модулем 130 преобразования. Разностные значения, сгенерированные модулем 140 деквантизации и модулем 145 обратного преобразования, могут быть добавлены в предсказанный PU. Предсказанный PU может быть предсказан модулем предсказания вектора перемещения, модулем компенсации перемещения и модулем внутрикадрового предсказания модулей 120 и 125 предсказания. Реконструированный блок может быть сгенерирован путем добавления разностных значений к предсказанному PU (предсказанным значениям).
Модуль 150 фильтрации может содержать по меньшей мере один из числа фильтра подавления блочности, модуля смещения и адаптивного петлевого фильтра (adaptive loop filter, ALF).
Фильтр подавления блочности (deblocking filter) может удалять искажения блока, сгенерированные на границах между блоками в реконструированном изображении. Решение о применении фильтра подавления блочности к текущему блоку может быть принято на основании пикселов, содержащихся в нескольких строках или колонках блока. Если к блоку применяют фильтр подавления блочности, может быть применен сильный фильтр или слабый фильтр в зависимости от требуемой интенсивности фильтрации подавления блочности. При выполнении горизонтальной фильтрации и вертикальной фильтрации при использовании фильтра подавления блочности, горизонтальная фильтрация и вертикальная фильтрация могут быть выполнены параллельно.
Модуль смещения может применять смещение от оригинального изображения в единицах пиксела к изображению, для которого завершена операция подавления блочности. Область, к которой может быть применено смещение, может быть определена после деления пикселов изображения на заранее определенное количество областей. Смещение может быть применено к определенной таким образом области с учетом информации о границах каждого пиксела и способа применения смещения к определенной области.
ALF может выполнять фильтрацию на основании результата сравнения прошедшего фильтрацию реконструированного изображения и оригинального изображения. Пикселы, содержащиеся в изображении, могут быть разделены на заранее заданные группы, может быть определен фильтр, применяемый к каждой группе, и для каждой группы может быть выполнена дифференциальная фильтрация. Информация о том, следует ли применять ALF, может быть передана для каждого блока кодирования (CU), и размер и коэффициент применяемого ALF может различаться для каждого блока. ALF может быть нескольких типов, и количество коэффициентов, содержащихся в соответствующем фильтре, может различаться. Кроме того, фильтр ALF той же формы (фиксированной формы) может быть применен к блоку независимо от свойств блока.
Память (запоминающее устройство) 155 может хранить реконструированный блок или изображение, выданное модулем 150 фильтрации, и сохраненный реконструированный блок или изображение могут быть поданы в модули 120 и 125 предсказания при выполнении межкадрового предсказания.
На фиг. 2 показана функциональная схема устройства декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
Как показано на фиг. 2, устройство 200 декодирования видеоданных может содержать модуль 210 энтропийного декодирования, модуль 215 переупорядочения, модуль 220 деквантизации (деквантования), модуль 225 обратного преобразования, модули 230 и 235 предсказания, модуль 240 фильтрации и память 245.
При поступлении битового потока видеоданных от устройства кодирования видеоданных входной битовый поток может быть декодирован в соответствии с операцией, обратной к операции кодирования видеоданных, выполняемой в устройстве кодирования видеоданных.
Модуль 210 энтропийного декодирования может выполнять энтропийное декодирование в соответствии с операцией, обратной к операции энтропийного кодирования модулем энтропийного кодирования устройства кодирования видеоданных. Например, для энтропийного кодирования могли быть использованы различные способы, такие как экспоненциальный код Голомба, CAVLC или САВАС в соответствии со способом, использованным устройством кодирования видеоданных.
Модуль 210 энтропийного декодирования может декодировать информацию, связанную с межкадровым предсказанием и внутрикадровым предсказанием, выполняемым устройством кодирования.
Модуль 215 переупорядочения может переупорядочивать битовый поток, прошедший энтропийное декодирование в модуле 210 энтропийного декодирования, на основании способа переупорядочения модуля кодирования. Модуль 215 переупорядочения может реконструировать и переупорядочивать коэффициенты в форме одномерного вектора в коэффициенты в двумерном блоке. Модуль 215 переупорядочения может получать информацию о сканировании коэффициентов, выполненном устройством кодирования, и может выполнять переупорядочение с использованием способа обратного сканирования коэффициентов на основании порядка сканирования, в котором сканирование выполнено устройством кодирования.
Модуль 220 деквантизации выполнен с возможностью выполнять деквантование на основании параметра квантования (квантизации), полученного из устройства кодирования, и переупорядоченных коэффициентов блока.
Модуль 225 обратного преобразования может выполнять обратное DCT и обратное DST результата квантования, выполненного устройством кодирования видеоданных, подвергнутого DCT и DST в модуле преобразования. Обратное преобразование можно выполнять на основании блока передачи, определенного устройством кодирования видеоданных. Модуль преобразования устройства кодирования видеоданных может выборочно выполнять DCT и DST в зависимости от множества элементов информации, таких как способ предсказания, размер текущего блока и направление предсказания и т.д., а модуль 225 обратного преобразования устройства декодирования видеоданных может выполнять обратное преобразование на основании информации о преобразовании, выполненном модулем преобразования устройства кодирования видеоданных.
Модули 230 и 235 предсказания могут генерировать блок предсказания (предсказанный блок) на основании информации о генерировании блока предсказания, полученной от модуля 210 энтропийного декодирования, и информации о декодированном ранее блоке или изображении, поступившей из памяти 245.
По аналогии с операцией устройства кодирования видеоданных, как описано выше, если PU и TU имеют одинаковый размер при выполнении внутрикадрового предсказания, внутрикадровое предсказание для PU выполняют на основании левых пикселов, верхнего левого пиксела и верхних пикселов PU. С другой стороны, если PU и TU имеют различные размеры при выполнении внутрикадрового предсказания, внутрикадровое предсказание можно выполнить с использованием опорных пикселов на основании TU. Внутрикадровое предсказание с использованием деления NxN можно использовать только для минимального CU.
Модули 230 и 235 предсказания могут содержать модуль определения PU, модуль межкадрового предсказания и модуль внутрикадрового предсказания. Модуль определения PU может принимать различную информацию, такую как информацию о PU, информацию о режиме предсказания способа внутрикадрового предсказания и информацию, относящуюся к предсказанию перемещения способа межкадрового предсказания и т.д. из модуля 210 энтропийного декодирования, и определять PU для текущего CU. Модуль определения PU может определять, выполнять ли межкадровое или внутрикадровое предсказание для PU. Модуль 230 межкадрового предсказания может выполнять межкадровое предсказание для текущего PU на основании информации о по меньшей мере одном изображении из числа предыдущего изображения и последующего изображения относительно текущего изображения, включающего текущий PU. Модуль 230 межкадрового предсказания может использовать информацию, необходимую для межкадрового предсказания для текущего PU, полученную от устройства кодирования видеоданных.
Для выполнения межкадрового предсказания на основании CU может быть определено, является ли способ предсказания перемещения для PU, содержащегося в CU, режимом пропуска, режимом слияния или режимом AMVP.
Модуль 235 внутрикадрового предсказания может генерировать блок предсказания на основании информации о пикселе в текущем изображении. Если PU является блоком PU, для которого выполняется внутрикадровое предсказание, внутрикадровое предсказание можно выполнить на основании информации о режиме внутрикадрового предсказания для PU, полученной от устройства кодирования видеоданных. Модуль 235 внутрикадрового предсказания может содержать фильтр AIS, модуль интерполяции опорного пиксела и фильтр DC. Фильтр AIS выполняет фильтрацию опорных пикселов текущего блока. Фильтр AIS может принимать решение о применении фильтра в зависимости от режима предсказания для текущего PU. Фильтрация AIS может выполняться для опорных пикселов текущего блока с использованием режима предсказания для PU и информации о фильтре AIS, полученной от устройства кодирования видеоданных. Если режим предсказания для текущего блока является режимом, где фильтрация AIS не применяется, фильтр AIS можно не применять.
Если режим предсказания для PU является режимом предсказания с выполнением внутрикадрового предсказания на основании значений пикселов, полученных интерполяцией опорных пикселов, модуль интерполяции опорных пикселов может генерировать опорные пикселы в единицах дробных пикселей меньших, чем целый пиксел (т.е. полный пиксел) путем интерполяции опорных пикселов. Если режим предсказания текущего PU является режимом предсказания с генерированием блока предсказания без интерполяции опорных пикселов, опорные пикселы можно не интерполировать. Фильтр DC может генерировать блок предсказания посредством фильтрации, если режим предсказания для текущего блока является режимом DC.
Реконструированный блок или изображение может быть передан в модуль 240 фильтрации. Модуль 240 фильтрации содержит фильтр подавления блочности, модуль смещения и ALF.
Устройство кодирования видеоданных может предоставлять информацию о том, применен ли фильтр подавления блочности к соответствующему блоку или изображению, и информацию о применении сильного фильтра или слабого фильтра при использовании фильтра подавления блочности. В фильтр подавления блочности устройства кодирования видеоданных из устройства кодирования видеоданных может быть передана информация о фильтре подавления блочности, и он может выполнять фильтрацию подавления блочности в отношении соответствующего блока.
Модуль смещения может применять смещение к реконструированному изображению на основании информации о типе смещения и значении смещения, примененных к изображению при операции кодирования.
ALF может быть применен к CU на основании информации о применении ALF, информации о коэффициентах ALF и т.д., полученной от устройства кодирования. Информация об ALF может быть включена и передана в отдельном наборе параметров.
Память 245 может хранить реконструированное изображение или блок для использования в качестве опорного изображения или опорного блока и передавать реконструированное изображение в модуль вывода.
Как описано выше, в вариантах осуществления изобретения, термин «блок кодирования» используют для блока для кодирования в целях удобства описания. Однако термин «блок кодирования» можно также использовать для блока для декодирования.
Далее на фиг. 3-8 будут проиллюстрированы способы сканирования, основанные на режимах предсказания и режимах деления в соответствии с примерными вариантами осуществления настоящего изобретения, реализуемые в соответствии с функциями модулей устройства кодирования и устройства декодирования, описанных выше на фиг. 1 и 2, которые подпадают в границы охраны настоящего изобретения.
На фиг. 3 схематично показаны способы сканирования коэффициентов в соответствии с настоящим изобретением.
Как показано на фиг. 3, способы сканирования могут включать горизонтальное сканирование 310, вертикальное сканирование 320, сканирование 330 зигзагом или вертикально-диагональное сканирование 340. В данном случае один из этих способов сканирования, показанных на фиг. 3, можно использовать на основании формы деления PU, и двумерный блок квантованных коэффициентов преобразования может быть заменен на одномерный вектор коэффициентов преобразования посредством сканирования.
Горизонтальное сканирование 310, сканирующее коэффициенты преобразования в горизонтальном направлении, может быть применено, например, если PU является делением, являющимся вертикально ориентированным блоком, таким как блок N×2N. Вертикально ориентированный блок с большой вероятностью включает текстуру вертикального компонента, где коэффициенты преобразования с большой вероятностью распределяются в горизонтальном направлении. Таким образом, порядок сканирования, показанный в способе 310 на фиг. 3, может быть применен к сканированию коэффициентов преобразования.
Вертикальное сканирование 320, сканирующее коэффициенты преобразования в вертикальном направлении, может быть применено, например, если PU является делением, являющимся горизонтально ориентированным блоком, таким как блок 2N×N. Горизонтально ориентированный блок с большой вероятностью включает текстуру горизонтального компонента, в котором коэффициенты преобразования с большой вероятностью распределяются в вертикальном направлении. Таким образом, порядок сканирования, показанный в способе 320 на фиг. 3, может быть применен к сканированию коэффициентов преобразования.
Сканирование 330 зигзагом или вертикально-диагональное сканирование 340 может быть применено, если PU не обладает выраженной анизотропией (направленностью) или определенным компонентом текстуры. Например, сканирование 330 зигзагом или вертикально-диагональное сканирование 340 может быть применено к квадратному блоку 2N×2N или N×N.
На фиг. 3 в качестве примеров осуществления настоящего изобретения приведены способы сканирования, и настоящее изобретение ими не ограничивается. Альтернативные способы сканирования, выполняемые в другом порядке, также могут быть использованы наряду со спос