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

Настоящая заявка выделена из заявки № 2014117485 на выдачу патента РФ на изобретение, поданной 01.08.2012, с испрашиванием приоритета по дате подачи первой заявки KR 10-2011-0106048, поданной в патентное ведомство Кореи 17.10.2011.
Область техники, к которой относится изобретение
Настоящее изобретение относится к способу декодирования видеосигнала.
Уровень техники
В последнее время в различных прикладных областях возросла потребность в видеоматериалах высокого разрешения и высокого качества, таких как видеоматериалы высокого разрешения (HD, high-definition) и видеоматериалы сверхвысокого разрешения (UHD, ultra-high definition). При повышении разрешения и качества видеоданных объем данных растет по сравнению с традиционными видеоданными. Поэтому при передаче видеоданных с помощью таких сред, как существующие проводные и беспроводные широкополосные линии, или же их хранении на существующих носителях информации, затраты на передачу и хранение видеоданных возрастают. Для решения этих проблем, вызванных повышением разрешения и качества видеоданных, можно использовать высокоэффективные технологии сжатия видео.
Технология сжатия видео может включать в себя различные технологии, в том числе способ межкадрового предсказания, заключающийся в предсказании значений пикселей, содержащихся в текущем изображении, на основе предыдущего или последующего изображения относительно текущего, способ внутрикадрового предсказания, заключающийся в предсказании значений пикселей, содержащихся в текущем изображении, на основании информации о пикселях этого же изображения, а также способ энтропийного кодирования, заключающийся в присвоении короткого кода значению, имеющему высокую частоту появления, и присвоении длинного кода значению с низкой частотой появления. Перечисленные способы сжатия видео позволяют эффективно сжимать и передавать или хранить видеоданные.
Раскрытие изобретения
Одним из аспектов настоящего изобретения является обеспечение способа декодирования видеосигнала с целью повышения эффективности декодирования видеоданных.
Вариант осуществления настоящего изобретения обеспечивает способ декодирования видеосигнала, включающий получение квантизированных коэффициентов текущего блока из видеосигнала; получение прошедших обратное квантизирование коэффициентов текущего блока посредством выполнения обратного квантизирования квантизированных коэффициентов; получение разностных образцов из прошедших обратное квантизирование коэффициентов текущего блока на основании флага пропуска преобразования, при этом флаг пропуска преобразования указывает, выполняют ли пропуск обратного преобразования для текущего блока; получение образцов предсказания текущего блока; получение воссозданных образцов текущего блока путем использования разностных образцов и образцов предсказания; и применение деблокирующего фильтра к воссозданным образцам текущего блока, при этом разностные образцы получают посредством выборочного выполнения обратного преобразования прошедших обратное квантизирование коэффициентов текущего блока на основании флага пропуска преобразования.
В предлагаемом способе, если флаг пропуска преобразования указывает, что для текущего блока обратное преобразование выполняют, то разностные образцы могут быть получены посредством: определения, является ли тип преобразования текущего блока дискретным косинусным преобразованием (DCT) или дискретным синусным преобразованием (DST), на основании режима предсказания, относящегося к текущему блоку, и/или размера текущего блока, причем режим предсказания указывает, закодирован ли текущий блок посредством внутрикадрового кодирования или межкадрового кодирования; и выполнения обратного преобразования для прошедших обратное квантизирование коэффициентов текущего блока с использованием определенного таким образом типа преобразования.
В предлагаемом способе обратное преобразование может включать преобразование рядов текущего блока и преобразование столбцов текущего блока.
Технический результат.
Согласно примерным вариантам осуществления настоящего изобретения, предлагаемый способ декодирования видеосигнала позволяет упростить функционирование соответствующих средств и обеспечить эффективное преобразование.
Краткое описание чертежей
На фиг. 1 приведена блок-схема, иллюстрирующая устройство для кодирования видеоданных согласно примеру осуществления настоящего изобретения.
На фиг. 2 приведена блок-схема, иллюстрирующая устройство для декодирования видеоданных согласно примеру осуществления настоящего изобретения.
На фиг. 3 проиллюстрирован способ изменения способа преобразования в зависимости от режима внутрикадрового предсказания согласно примеру осуществления настоящего изобретения.
На фиг. 4 проиллюстрирован способ преобразования согласно примеру осуществления настоящего изобретения.
На фиг. 5 проиллюстрирован способ преобразования, зависящий от режима внутрикадрового предсказания согласно примеру осуществления настоящего изобретения.
На фиг. 6 показана диаграмма, иллюстрирующая способ выбора различного способа преобразования в зависимости от режима внутрикадрового предсказания согласно примеру осуществления настоящего изобретения.
На фиг. 7 проиллюстрирован способ переназначения кодового слова в зависимости от режима внутрикадрового предсказания согласно примеру осуществления настоящего изобретения.
На фиг. 8 проиллюстрирован режим сканирования, зависящий от способа преобразования согласно примеру осуществления настоящего изобретения.
На фиг. 9 показана диаграмма, иллюстрирующая способ определения режима сканирования в зависимости от способа преобразования согласно примеру осуществления настоящего изобретения.
На фиг. 10 показана диаграмма, иллюстрирующая способ определения режима сканирования в зависимости от способа преобразования согласно примеру осуществления настоящего изобретения.
Осуществление изобретения
Настоящее изобретение может быть изменено и модернизировано различными способами, и может быть проиллюстрировано со ссылкой на различные варианты осуществления, некоторые из которых будут описаны и показаны на чертежах. Однако эти варианты осуществления не направлены на ограничение изобретения, а интерпретируются как включающие в себя все модификации, эквиваленты и замены, соответствующие духу и техническим границам данного изобретения. Одинаковые ссылочные обозначения на чертежах соответствуют одинаковым элементам в рамках всего настоящего документа.
Несмотря на то, что при описании различных элементов могут быть использованы термины "первый", "второй" и т.д., эти термины не следует воспринимать в ограничительном смысле. Эти термины используются лишь для того, чтобы отличить один элемент от другого. Например, первый элемент может быть назван вторым элементом, а второй элемент аналогичным образом может быть назван первым элементом без какого-либо противоречия раскрытию настоящего изобретения. Термин "и/или" означает охват всех без исключения сочетаний множества соответствующих перечисленных пунктов.
Если в отношении элемента сказано, что он "соединен" или "связан" с другим элементом, то следует понимать это так, что данный элемент можно непосредственно соединить или связать с другим элементом или промежуточными элементами. Напротив, если в отношении элемента сказано, что он "непосредственно соединен" или "непосредственно связан" с другим элементом, то между ними не имеется никаких промежуточных элементов.
Используемая в настоящем документе терминология применена исключительно для раскрытия конкретных вариантов осуществления и не направлена на ограничение изобретения. Подразумевается, что использованные для раскрытия изобретения термины в единственном числе, а также с уточнением "один из", "этот" или "данный", включают в себя также и формы множественного числа, кроме случаев, когда контекст явно указывает на обратное. Кроме того, термины "включает", "содержит" и/или "имеет", используемые в настоящем описании, следует понимать как указывающие на наличие заявленных признаков, систем, шагов, операций, элементов и/или компонентов, но не как заранее исключающие наличие или добавление одного или нескольких других признаков, систем, шагов, операций, элементов и/или компонентов и/или их групп.
Ниже будут подробно раскрыты примеры осуществления настоящего изобретения со ссылкой на прилагаемые чертежи. Одинаковые ссылочные обозначения на чертежах соответствуют одинаковым элементам в рамках всего настоящего документа, а дублирующие друг друга описания одинаковых элементов будут опущены.
На фиг. 1 приведена блок-схема, иллюстрирующая устройство для кодирования видеоданных согласно примеру осуществления настоящего изобретения.
Показанное на фиг. 1 устройство 100 для кодирования видеоданных содержит модуль 105 подразделения изображения, предсказывающий модуль 110, модуль 115 преобразования, квантизирующий модуль 120, переупорядочивающий модуль 125, модуль 130 энтропийного кодирования, деквантизирующий модуль 135, модуль 140 обратного преобразования, фильтрующий модуль 145 и память 150.
Несмотря на то, что показанные на фиг. 1 элементы изображены отдельно с целью представления различных отличающихся функций в составе устройства для кодирования видеоданных, такая конфигурация не означает, что каждый из элементов в действительности является отдельным аппаратным или программным компонентом. Другими словами, это разбиение на отдельные элементы сделано для удобства описания изобретения, но при этом можно по меньшей мере два элемента объединить в единый элемент, или же разделить единый элемент на несколько отдельных элементов, выполняющих различные функции. Необходимо отметить, что те варианты осуществления, в которых некоторые из элементов объединены в единый комбинированный элемент и/или один элемент разделен на несколько отдельных элементов, входят в объем охраны настоящего изобретения без отклонения от сущности настоящего изобретения.
Некоторые из элементов могут быть несущественными для основных функций настоящего изобретения и являться необязательными компонентами, служащими единственно для повышения эффективности. Настоящее изобретение можно реализовать с использованием лишь существенных компонентов, исключив компоненты, предназначенные лишь для повышения эффективности. Конфигурация, содержащая лишь существенные компоненты и не содержащая необязательных компонентов, предназначенных лишь для повышения эффективности, также входит в объем охраны настоящего изобретения.
Модуль 105 подразделения изображения может осуществить подразделение входного изображения с получением на выходе по меньшей мере одной элемента обработки. Такой элемент обработки может представлять собой элемент предсказания (PU, prediction unit), элемент преобразования (TU, transform unit) или элемент кодирования (CU, coding unit). Модуль 105 подразделения изображения может подразделять изображение на несколько комбинаций элементов кодирования, элементов предсказания и элементов преобразования, а также выбирать одну комбинацию элементов кодирования, элементов предсказания и элементов преобразования на основе заранее заданного критерия (например, функции стоимости), кодируя таким образом изображение.
Например, одно изображение можно подразделить на несколько элементов кодирования. Для подразделения изображения на элементы кодирования можно использовать структуру рекурсивного дерева, например, структуру дерева квадрантов. Элемент кодирования, представляющий собой изображение или элемент кодирования максимального размера в качестве корня дерева, можно разделить на подэлементы кодирования с количеством дочерних узлов, равным количеству элементов кодирования после разделения. Элемент кодирования, не подвергающийся дальнейшему подразделению согласно заранее заданному ограничению, представляет собой листовой узел. Другими словами, исходя из предположения о том, что элемент кодирования можно разделять только на квадраты, один элемент кодирования можно подразделить на максимум четыре различных элемента кодирования.
В вариантах осуществления настоящего изобретения под элементом кодирования может пониматься не только элемент в ходе кодирования, но также и элемент в ходе декодирования.
Элемент предсказания можно разделить на по меньшей мере одну область квадратной или прямоугольной формы с тем же размером, что и в элементе кодирования или же таким образом, чтобы форма разделенного элемента предсказания была отличной от формы другого элемента предсказания в элементе кодирования.
Если элемент предсказания, в отношении которого должно выполняться внутрикадровое предсказание, формируется в зависимости от элемента кодирования, а элемент кодирования не является минимальным элементом кодирования, то внутрикадровое предсказание можно выполнять без подразделения элемента кодирования на несколько элементов предсказания (N×N).
Предсказывающий модуль 110 может содержать модуль межкадрового предсказания для выполнения межкадрового предсказания и модуль внутрикадрового предсказания для выполнения внутрикадрового предсказания. Предсказывающий модуль 110 может определять, следует ли выполнять для элемента предсказания внутрикадровое предсказание или межкадровое предсказание, а также может определять конкретную информацию (например, режим внутрикадрового предсказания, вектор движения, опорное изображение и т.д.) согласно определенному таким образом способу предсказания. При этом элемент обработки, в отношении которого выполняется предсказание, может отличаться от элемента обработки, для которого определяются способ предсказания и конкретная информация. Например, для каждого элемента предсказания можно определить способ предсказания и режим предсказания, при этом предсказание может выполняться для каждого элемента преобразования. Разностное значение (разностный блок) между сформированным предсказанным блоком и исходным блоком может поступать в модуль 115 преобразования. Затем информация о режиме предсказания, информация о векторе движения и т.п., используемые для предсказания, может быть кодирована в модуле 130 энтропийного кодирования вместе с разностным значением и может быть передана в устройство для декодирования. При использовании конкретного режима кодирования исходный блок можно закодировать и передать в устройство для декодирования без формирования предсказанного блока в предсказывающем модуле 110.
Модуль межкадрового предсказания может предсказывать элемент предсказания в зависимости от информации о по меньшей мере одном изображении из числа предыдущего или последующего изображения относительно текущего изображения. Модуль межкадрового предсказания может содержать модуль интерполяции опорного изображения, модуль предсказания движения и модуль компенсации движения.
В модуль интерполяции опорного изображения может поступать информация об опорном изображении из памяти 150, по опорному изображению он может формировать информацию о пикселях менее целой единицы положения пикселя (целая единица пикселя или единица пикселя). Для яркостных пикселей для формирования информации о пикселях менее целой единицы пикселя в единицах ¼ положения пикселя (единицах 1/4 пикселя) можно использовать 8-отводный интерполяционный фильтр на основе дискретного косинусного преобразования (DCT) с переменным коэффициентом фильтрации. Для пикселей цветности для формирования информации о пикселях менее целой единицы пикселя в единицах 1/8 положения пикселя (единицах 1/8 пикселя) можно использовать 4-отводный интерполяционный фильтр на основе DCT с переменным коэффициентом фильтрации.
Модуль предсказания движения может осуществлять предсказание движения на основе опорного изображения, интерполированного модулем интерполяции опорного изображения. Для вычисления вектора движения можно использовать различные способы, например, алгоритм полного поиска совпадений блоков (FBMA, full search-based matching algorithm), трехэтапный алгоритм поиска (TSS, three-step search) и новый трехэтапный алгоритм поиска (NTS, new three-step search). Вектор движения может иметь значения в единицах 1/2 или 1/4 пикселя в зависимости от интерполированного пикселя. Модуль предсказания движения может выполнять предсказание в отношении текущего элемента предсказания с использованием различных способов предсказания движения. В качестве способов предсказания движения можно использовать различные способы, в том числе способ пропуска (skipping), способ объединения (merging) и продвинутое предсказание вектора движения (AMVP, advanced motion vector prediction).
Модуль внутрикадрового предсказания может формировать предсказанный блок на основе информации об опорных пикселях, соседних с текущим блоком, то есть на основе информации о пикселях текущего изображения. Когда блок, соседний с текущим элементом предсказания, является блоком, подвергаемым межкадровому предсказанию, а опорный пиксель представляет собой пиксель, подвергаемый межкадровому предсказанию, то информацию об опорном пикселе, содержащуюся в подвергаемом межкадровому предсказанию блоке, можно заменить информацией об опорном пикселе в блоке, подвергаемом внутрикадровому предсказанию. Таким образом, если опорный пиксель отсутствует, информацию об отсутствующем опорном пикселе можно заменить информацией о по меньшей мере одном опорном пикселе из числа имеющихся опорных пикселей.
Режим внутрикадрового предсказания может включать режим направленного предсказания, в котором информация об опорных пикселях используется согласно направлению предсказания, и режим ненаправленного предсказания, в котором информация о направлении при предсказании не используется. Режимы предсказания яркостной (luma) и цветностной (chroma) информации могут отличаться друг от друга. Для предсказания цветностной информации можно использовать информацию о режиме внутрикадрового предсказания, используемую для получения яркостной информации, или предсказанную информацию о сигнале яркости.
Если при выполнении внутрикадрового предсказания элемент предсказания и элемент преобразования имеют одинаковый размер, то внутрикадровое предсказание в отношении элемента предсказания можно выполнять на основе пикселей, расположенных слева, слева сверху и сверху от элемента предсказания. Если же при выполнении внутрикадрового предсказания элемент предсказания и элемент преобразования имеют различные размеры, то внутрикадровое предсказание можно выполнять с использованием опорных пикселей на основе элемента преобразования. Внутрикадровое предсказание с разделением N×N можно выполнять только в отношении минимального элемента кодирования.
В рамках способа внутрикадрового предсказания к опорным пикселям до формирования предсказанного блока можно применять фильтр адаптивного внутреннего сглаживания (AIS, adaptive intra smoothing) согласно режиму предсказания. К опорным пикселям можно применять различные типы фильтров AIS. В рамках способа внутрикадрового предсказания режим внутрикадрового предсказания текущего элемента предсказания можно предсказать на основе режима внутрикадрового предсказания элемента предсказания, соседнего с текущим элементом предсказания. Если при предсказании режима предсказания текущего элемента предсказания с использованием информации о режиме, предсказанной на основе соседнего элемента предсказания, текущий элемент предсказания и соседний элемент предсказания имеют один и тот же режим внутрикадрового предсказания, то информацию, указывающую на то, что текущий и соседний элемент предсказания имеют один и тот же режим предсказания, можно передавать с помощью заранее заданной флаговой информации. Если текущий и соседний элементы предсказания имеют различные режимы предсказания, то информацию о режиме предсказания текущего блока можно кодировать с помощью энтропийного кодирования.
Разностный блок, содержащий разностную информацию, то есть разность между предсказанным блоком и исходным блоком элемента предсказания, можно формировать в зависимости от элемента предсказания в предсказывающем модуле 110. Сформированный разностный блок может поступать в модуль 115 преобразования. Модуль 115 преобразования может преобразовывать разностный блок, в том числе разностную информацию элемента предсказания, сформированную на основе исходного блока в предсказывающем модуле 110, с использование таких способов преобразования, как Дискретное Косинусное Преобразование (DCT) или Дискретное Синусное Преобразование (DST). Способ преобразования, используемый для преобразования разностного блока, то есть DCT или DST, можно определить на основе информации о режиме внутрикадрового преобразования элемента преобразования, используемого для формирования разностного блока.
Режимы внутрикадрового предсказания для текущего элемента преобразования можно распределить на первую группу режимов внутрикадрового предсказания, содержащую режим вертикального предсказания, вторую группу режимов внутрикадрового предсказания, содержащую режим горизонтального предсказания, и третью группу режимов внутрикадрового предсказания, содержащую любой режим направленного предсказания, отличный от содержащихся в первой и второй группах режимов предсказания. Модуль 115 преобразования может определять группу режимов внутрикадрового предсказания и выполнять преобразование, используя различные способы преобразования в зависимости от групп режимов внутрикадрового предсказания.
Квантизирующий модуль 120 может квантизировать значения, преобразованные в частотную область модулем 115 преобразования. Параметры квантизации могут изменяться в зависимости от блока или важности изображения. Значения с выхода квантизирующего модуля 120 можно подавать в деквантизирующий модуль 135 и переупорядочивающий модуль 125.
Для квантизированных разностных значений переупорядочивающий модуль 125 может осуществлять переупорядочивание коэффициентов.
Переупорядочивающий модуль 125 может преобразовывать двумерный (2D) блок коэффициентов в одномерный (1D) вектор коэффициентов посредством сканирования коэффициентов. Например, переупорядочивающий модуль 125 может преобразовывать двумерный (2D) блок коэффициентов в одномерный (1D) вектор коэффициентов, используя диагональное сканирование. В зависимости от размера элемента преобразования и режима внутрикадрового предсказания, вместо диагонального сканирования можно использовать вертикальное сканирование двумерного блока коэффициентов в направлении столбцов и горизонтальное сканирование двумерного блока коэффициентов в направлении рядов. Таким образом, используемый способ сканирования, то есть диагональное, вертикальное или горизонтальное сканирование, можно выбирать в зависимости от размера элемента преобразования и режима внутрикадрового предсказания.
Модуль 130 энтропийного кодирования может выполнять энтропийное кодирование на основе значений, полученным переупорядочивающим модулем 125. Для энтропийного кодирования можно применять различные способы кодирования, например, экспоненциальное кодирование Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC, context-adaptive variable length coding), а также контекстно-адаптивное двоичное арифметическое кодирование (CABAC, context-adaptive binary arithmetic coding).
Модуль 130 энтропийного кодирования может кодировать различную информацию, в том числе информацию о разностном коэффициенте и информацию о типе блока для элемента кодирования, информацию о режиме предсказания, информацию об элементе подразделения, информацию об элементе предсказания, информацию об элементе передачи, информацию о векторе движения, информацию об опорном кадре, информацию об интерполяции блоков и информацию о фильтрации, которая может быть получена от переупорядочивающего модуля 125 и предсказывающего модуля 110.
Модуль 130 энтропийного кодирования может осуществлять энтропийное кодирование коэффициентов элемента кодирования, поступающих из переупорядочивающего модуля 125.
В модуле 130 энтропийного кодирования может храниться таблица энтропийного кодирования, такая как таблица кодирования переменной длины (VLC, variable-length coding), и энтропийное кодирование можно выполнять с использованием этой таблицы VLC. При энтропийном кодировании для изменения назначения кодового слова кодовому числу информации можно использовать способ применения счетчика для некоторых содержащихся в таблице кодовых слов или способ прямого обмена (direct swapping). Например, для больших кодовых чисел, которым в таблице соответствия кодовых чисел и кодовых слов назначены кодовые слова короткой битовой длины, порядок соответствия кодовых слов и кодовых чисел в этой таблице можно адаптивно изменять таким образом, чтобы присваивать кодовые слова короткой битовой длины кодовым числам, имеющим наибольшие результаты подсчета кодовых чисел счетчиком. Если результат подсчета счетчиком достигает предустановленного порогового значения, то записанный в счетчике результат подсчета можно разделить на два и затем повторить подсчет.
Кодовое число в таблице, в отношении которого не выполняется подсчет, можно подвергнуть энтропийному кодированию путем сокращения количества битов, назначенных кодовому слову, способом обмена позициями с правым большим кодовым числом с использованием способа прямого обмена при появлении информации, соответствующей кодовому числу.
В модуле энтропийного кодирования можно применять различные таблицы соответствия для кодирования способа преобразования в зависимости от групп режимов внутрикадрового предсказания.
Деквантизирующий модуль 135 и модуль 140 обратного преобразования деквантизируют значения, квантизированные квантизирующим модулем 120 и выполняют обратное преобразование значений, преобразованных преобразовательным модулем 115. Разностные значения, формируемые деквантизирующим модулем 135 и модулем 140 обратного преобразования, могут быть добавлены в предсказанный блок, предсказанный модулем предсказания движения, модулем компенсации движения и модулем внутрикадрового предсказания предсказывающего модуля 110, формируя таким образом воссозданный блок.
Фильтрующий модуль 145 может содержать по крайней мере один компонент из следующих: деблокирующий фильтр, модуль коррекции смещения и адаптивный петлевой фильтр (ALF, adaptive loop filter).
Деблокирующий фильтр 145 может ликвидировать искажение блоков, возникающее на границах между блоками в воссозданном изображении. Необходимость применения деблокирующего фильтра к текущему блоку можно определить на основе пикселей, содержащихся в нескольких рядах или столбцах блока. При применении к блоку деблокирующего фильтра можно применять сильный или слабый фильтр в зависимости от требуемой степени деблокирующей фильтрации. Кроме того, при выполнении горизонтальной и вертикальной фильтрации при применении деблокирующего фильтра, горизонтальную и вертикальную фильтрацию можно выполнять параллельно.
Модуль коррекции смещения может корректировать смещение полученного в результате деблокирующей фильтрации изображения относительно исходного изображения на пиксель. Для коррекции смещения конкретного изображения можно применять способ подразделения пикселей изображения на заранее заданное число областей, определения подлежащей коррекции смещения области и применения коррекции смещения к определенной таким образом области, или же способ применения коррекции смещения с учетом краевой информации по каждому пикселю.
Фильтр ALF может выполнять фильтрацию на основе результатов сравнения воссозданного изображения после фильтрации и исходного изображения. Можно разделить содержащиеся в изображении пиксели на заранее заданные группы, определить фильтр, который нужно применить к каждой из групп, и выполнить дифференциальную фильтрацию для каждой из групп. Информацию о необходимости применения ALF можно передавать в каждом элементе кодирования (CU), а форма и коэффициент ALF, применяемого к каждому блоку, могут отличаться. ALF может иметь различные типы, и количество коэффициентов, содержащихся в соответствующем фильтре, может быть разным. Относящаяся к фильтрации информация ALF, в том числе информация о коэффициентах фильтра, информация о включении/выключении ALF и информация о типе фильтра, может включаться и передаваться в заранее определенном наборе параметров битового потока.
В памяти 150 может храниться воссозданный блок или изображение, поступившие с выхода фильтрующего модуля 145, и сохраненный воссозданный блок или изображение может поступать в предсказывающий модуль 110 при выполнении межкадрового предсказания.
На фиг. 2 приведена блок-схема, иллюстрирующее устройство для декодирования видеоданных согласно примеру осуществления настоящего изобретения.
Показанное на фиг. 2 устройство 200 для декодирования видеоданных содержит модуль 210 энтропийного декодирования, переупорядочивающий модуль 215, деквантизирующий модуль 220, модуль 225 обратного преобразования, предсказывающий модуль 230, фильтрующий модуль 235 и память 240.
При подаче битового потока видеоданных из устройства для кодирования видеоданных входной битовый поток можно декодировать согласно процессу, обратному по отношению к процессу кодирования видеоданных в устройстве для кодирования видеоданных.
Модуль 210 энтропийного декодирования может выполнять энтропийное декодирование согласно процессу, обратному по отношению к процессу энтропийного кодирования в модуле энтропийного кодирования в устройстве для кодирования видеоданных. Например, для выполнения энтропийного декодирования можно использовать ту же таблицу VLC, что и для энтропийного кодирования в устройстве для кодирования видеоданных. Информацию для формирования предсказанного блока в составе информации, декодируемой в модуле 210 энтропийного декодирования, можно подать в предсказывающий модуль 230, а разностные значения, получаемые путем энтропийного декодирования в модуле энтропийного декодирования, можно подать в переупорядочивающий модуль 215.
Как и модуль энтропийного кодирования, модуль 210 энтропийного декодирования может также изменять таблицу назначения кодовых слов с использованием счетчика или способа прямого обмена и выполнять энтропийное декодирование на основе измененной таблицы назначения кодовых слов.
Модуль 210 энтропийного декодирования может декодировать информацию, связанную с внутрикадровым предсказанием и межкадровым предсказанием, выполняемыми устройством для кодирования видеоданных. Как было описано выше, когда устройство для кодирования видеоданных имеет заранее заданные ограничения по выполнению внутрикадрового и межкадрового предсказания, модуль энтропийного декодирования может выполнять энтропийное декодирование на основе этих ограничений для получения информации о внутрикадровом и межкадровом предсказании для текущего блока.
Переупорядочивающий модуль 215 может выполнять переупорядочивание в отношении битового потока, прошедшего энтропийное декодирование в модуле 210 энтропийного декодирования, в зависимости от способа переупорядочивания модуля кодирования. Переупорядочивающий модуль 215 может воссоздавать и переупорядочивать коэффициенты, выраженные в форме одномерного (1D) вектора, преобразуя их в коэффициенты в двумерном (2D) блоке. Переупорядочивающий модуль 215 может получать информацию, связанную с выполняемым модулем кодирования сканированием коэффициентов, и выполнять переупорядочивание с использованием способа обратного сканирования коэффициентов в зависимости от порядка сканирования, на основании которого выполнялось сканирование в модуле кодирования.
Деквантизирующий модуль 220 может выполнять деквантизацию на основе параметров квантизации, полученных от устройства кодирования и переупорядоченных коэффициентов блока.
Модуль 225 обратного преобразования может выполнять обратное преобразование DCT) и DST, которое является обратным по отношению к преобразованию DCT и DST, выполняемому модулем преобразования, где DCT и DST выполнялись в отношении результатов квантизации устройством для кодирования видеоданных. Обратное преобразование можно выполнять на основе элемента передачи, определенного устройством для кодирования видеоданных. Модуль преобразования устройства для кодирования видеоданных может выборочно выполнять преобразование DCT и DST в зависимости от множества информационных элементов, таких как способ предсказания, размер текущего блока, направление предсказания и т.д, а модуль 225 обратного преобразования устройства для декодирования видеоданных может выполнять обратное преобразование на основе информации о преобразовании, выполненном модулем преобразования устройства для кодирования видеоданных.
Преобразование может выполняться по элементу кодирования вместо элемента преобразования.
Режимы внутрикадрового предсказания для текущего элемента преобразования можно распределить на первую группу режимов внутрикадрового предсказания, содержащую режим вертикального предсказания, вторую группу режимов внутрикадрового предсказания, содержащую режим горизонтального предсказания, и третью группу режимов внутрикадрового предсказания, содержащую любой режим направленного предсказания за исключением содержащихся в первой и второй группах режимов внутрикадрового предсказания. Модуль 225 преобразования может определять группу режимов внутрикадрового предсказания и выполнять обратное преобразование, используя различные способы преобразования в зависимости от группы режимов внутрикадрового предсказания.
При декодировании способа преобразования способ преобразования декодируется с использованием: первой таблицы соответствия, если группа режимов внутрикадрового преобразования является первой группой режимов внутрикадрового преобразования, второй таблицы соответствия, если группа режимов внутрикадрового преобразования является второй группой режимов внутрикадрового преобразования, и третьей таблицы соответствия, если группа режимов внутрикадрового преобразования является третьей группой режимов внутрикадрового преобразования.
Модуль 230 предсказания может формировать предсказанный блок на основе информации о формировании предсказанного блока, полученной от модуля 210 энтропийного декодирования, и информации о ранее декодированном блоке или изображении, полученной из памяти 240.
Аналогично описанному выше принципу работы устройства для кодирования видеоданных, если при выполнении внутрикадрового предсказания элемент предсказания и элемент преобразования имеют одинаковый размер, то внутрикадровое предсказание в отношении элемента предсказания выполняют на основе пикселей, расположенных слева, слева сверху и сверху от элемента предсказания. Если же при выполнении внутрикадрового предсказания элемент предсказания и элемент преобразования имеют различные размеры, то внутрикадровое предсказание можно выполнять с использованием опорных пикселей на основе элемента преобразования. Внутрикадровое предсказание с разделением N×N можно выполнять только в отношении минимального элемента кодирования.
Предсказывающий модуль 230 может содержать модуль определения элемента предсказания, модуль межкадрового предсказания и модуль внутрикадрового предсказания. Модуль определения элемента предсказания может принимать различную информацию, в том числе информацию об элементе предсказания, информацию о режиме предсказания для способа внутрикадрового предсказания, а также информацию, относящуюся к предсказанию движения для способа межкадрового предсказания, получаемую от модуля энтропийного декодирования, и определять элемент предсказания в текущем элементе кодирования, а также определять, какое именно кодирование – межкадровое или внутрикадровое – выполняется в отношении элемента предсказания. Модуль межкадрового предсказания может выполнять межкадровое предсказание в отношении текущего элемента предсказания на основе информации о по меньшей мере одном изображении из числа предыдущего и последующего изображения относительно текущего изображения, в том числе текущего элемента предсказания с использованием необходимой для межкадрового предсказания текущего элемента предсказания информации, получаемой от устройства для кодирования видеоданных.
Для выполнения межкадрового предсказания можно в зависимости от элемента кодирования определить способ предсказания движения для элемента предсказания, входящего в единицу кодирования, из числа режима пропуска (skip), режима объединения (merge) или режима AMVP.
Модуль внутрикадрового предсказания может формировать предсказанный блок на основе информации о пикселях текущего изображения. Если элемент предсказания представляет собой элемент предсказания, в отношении которого выполняется внутрикадровое предсказание, то внутрикадровое предсказание можно выполнять на основе полученной от устройства для кодирования видеоданных информации о режиме внутрикадрового предсказания элемента предсказания. Модуль внутрикадрового предсказания может содержать фильтр AIS, модуль интерполяции опорных пикселей и DC-фильтр. Фильтр AIS выполняет фильтрацию опорных пикселей текущего блока, при этом необходимость применения фильтра AIS можно определить в зависимости от режима предсказания текущего элемента предсказания. Фильтрацию AIS в отношении опорных пикселей текущего блока можно выполнять с использованием режима предсказания элемента предсказания и информации о фильтре AIS, полученной от устройства для кодирования видеоданных. Если режим предсказания текущего блока представляет собой режим, не включающий фильтрацию AIS, то фильтрация AIS может не применяться.
Если режим предсказания элемента предсказания представляет собой режим предсказания с выполнением внутрикадрового предсказания на основе значений пикселей, получаемых путем интерполяции опорных пикселей, то модуль интерполяции опорных пикселей может формировать опорные пиксели в единицах пикселей менее единиц целочисленных позиций путем интерполяции опорных пикселей. Если режим предсказания текущего элемента предсказания представляет собой режим предсказания с формированием предсказанного блока без интерполяции опорных пикселей, то интерполяция опорных пикселей не выполняется. Если режим предсказания текущего блока представляет собой режим DC, то DC-фильтр может формировать предсказанный блок посредством фильтрации.
Воссозданный блок или изображение может поступать в фильтрующий модуль 235. Фильтрующий модуль 235 может содержать деблокирующий фильтр, модуль коррекции смещения и ALF.
Информация о необходимости применения деблокирующего фильтра к соответствующему блоку или изображению, а также информация о том, применяется ли при использовании деблокирующего фильтра сильный или слабый фильтр, может быть получена от устройства для кодирования видеоданных. Деблокирующий фильтр устройства для декодирования видеоданных может получать информацию о деблокирующем фильтре от устройства для кодирования видеоданных и выполнять деблокирующую фильтрацию соответствующего блока. Аналогично устройству для кодирования видеоданных, сначала выполняются вертикальная деблокирующая фильтрация и горизонтальная деблокирующая фильтрация, при этом по меньшей мере одна из них может применяться к перекрывающейся области. К области, где вертикальная деблокирующая фильтрация и горизонтальная деблокирующая фильтрация взаимно перекрываются, может применяться как вертикальная деблокирующая фильтрация, так и горизонтальная деблокирующая фильтрация, которые ранее не применялись. Этот процесс деблокирующей фильтрации может обеспечивать параллельную обработку деблокирующей фильтрации.
Модуль коррекции смещения может выполнять коррекцию смещения в отношении воссозданного изображения на основе типа коррекции смещения и информации о величине смещения, примененного к изображению в процессе кодирования.
ALF может выполнять фильтрацию на основе результата сравнения воссозданного изображения после фильтрации и исходного изображения. ALF можно применять к элементу кодирования в зависимости от информации о том, применяется ли ALF или нет, а также информации о коэффициентах ALF, полученной от устройства кодирования. Информация ALF может содержаться и передаваться в конкретном наборе параметров.
Память 240 может осуществлять хранение воссозданного изображения или блока для использования в качестве опорного изображения или опорного блока и передавать воссозданное изображение в модуль вывода.
Согласно раскрытому выше, в вариантах осуществления настоящего изобретения термин "элемент кодирования" используется для обозначения кодируемого элемента, но может также использоваться и для обозначения декодируемого элемента (элемента декодирования).
На фиг. 3 проиллюстрирован способ изменения способа преобразования в зависимости от режима внутрикадрового предсказания согласно примеру осуществления настоящего изобретения.
Как видно из фиг. 3, в зависимости от направленности режима внутрикадрового предсказания можно применять различные способы преобразования.
Первая группа 300 режимов внутрикадрового предсказания содержит режим 26 вертикального внутрикадрового предсказания и соседние режимы 23, 24, 25, 27, 28 и 29. Вторая группа 320 режимов внутрикадрового предсказания содержит режим 10 горизонтального внутрикадрового предсказания и соседние режимы 13, 12, 11, 9, 8 и 7. Третья группа 340 режимов внутрикадрового предсказания содержит режимы диагонального предсказания, не входящие в первую группу 300 режимов внутрикадрового предсказания и вторую группу 320 режимов внутрикадрового предсказания.
Первая группа 300, вторая группа 320 и третья группа 340 режимов внутрикадрового предсказания имеют значения, заданные случайным образом. В рамках способа преобразования, зависящего от режима внутрикадрового преобразования согласно настоящему варианту осуществления, в соответствующие группы можно включить и другие режимы предсказания. Таким образом, первая группа 300 режимов внутрикадрового предсказания представляет собой группу, содержащую режимы внутрикадрового предсказания с высокой тенденцией к вертикальному предсказанию, а вторая группа 320 режимов внутрикадрового предсказания представляет собой группу, содержащую режимы внутрикадрового предсказания с высокой тенденцией к горизонтальному предсказанию. Режим внутреннего предсказания, входящий в соответствующую группу, можно изменить в рамках настоящего изобретения.
Другими словами, в способе преобразования согласно настоящему варианту осуществления режимы внутрикадрового предсказания распределяются на группы, и в зависимости от групп применяются различные способы преобразования, при этом режимы внутрикадрового предсказания можно также распределить не на три, а на множество групп, и применять различные способы преобразования в зависимости от групп.
На фиг. 4 показан способ преобразования согласно примеру осуществления настоящего изобретения.
Как видно из рис. 4, для преобразования разностного сигнала можно использовать четыре способа преобразования.
Упомянутые ниже способы преобразования можно подразделить согласно тому, применяется ли к блоку преобразование рядов или преобразование столбцов. В процессе декодирования можно применять обратное преобразование с учетом способа преобразования, использовавшегося при преобразовании в процессе кодирования. Ниже в настоящем варианте осуществления иллюстрируется способ преобразования для процесса кодирования исключительно для удобства описания. В процессе декодирования обратное преобразование может выполняться на основе способа преобразования, используемого в процессе кодирования.
В первом способе 400 преобразования осуществляется преобразование как рядов, так и столбцов, и может быть выполнено двумерное (2D) преобразование блока.
Во втором способе 420 преобразования осуществляется только преобразование рядов и может быть выполнено одномерное (1D) преобразование блока в направлении рядов. В третьем способе 440 преобразования осуществляется преобразование только столбцов, и может быть выполнено одномерное (1D) преобразование блока в направлении столбцов.
В четвертом способе 460 преобразования не выполняется ни преобразование рядов, ни преобразование столбцов. Четвертый способ преобразования можно выразить на основе заранее заданной флаговой информации, которая может указывать на то, что преобразование текущего блока не выполняется. Далее в процессе кодирования информация о том, применяется ли способ отсутствия преобразования (пропуска преобразования) как четвертого способа преобразования для всего процесса кодирования может указываться с помощью дополнительной флаговой информации.
В настоящем варианте осуществления можно выборочно использовать только некоторые из перечисленных способов преобразования с первого по четвертый, а не все перечисленные способы преобразования. Например, четвертый способ преобразования, то есть способ отсутствия преобразования, можно выборочно применять в зависимости от флаговой информации. Таким образом, при преобразовании блока можно применять только с первого по третий способы преобразования, и выборочно применять четвертый способ преобразования. В качестве альтернативы, когда используются только первый и четвертый способы преобразования, можно выборочно использовать только первый способ преобразования с применением флаговой информации, или же можно использовать первый способ преобразования или же использовать оба, первый и четвертый способы преобразования.
В таблице 1 показаны способы преобразования и кодовые слова, соответствующие способам преобразования.
Таблица 1
Способ преобразования
Преобразование рядов
Преобразование столбцов
Кодовое слов
Первый способ преобразования
0
0
1
двумерное преобразование
Второй способ преобразования
0
-
01
одномерное преобразование
Третий способ преобразования
-
0
001
одномерное преобразование
Четвертый способ преобразования
-
-
000
отсутствие преобразования
В способе преобразования согласно настоящему варианту осущестлвения могут применяться различные способы преобразования в зависимости от режимов внутрикадрового предсказания.
На фиг. 5 показана зависимость способа преобразования от режима внутрикадрового предсказания согласно примеру осуществления настоящего изобретения.
Для удобства описания в следующем варианте осуществления показано, что режимы внутрикадрового предсказания разделены на три группы режимов внутрикадрового предсказания, и для соответствующих групп используются различные способы преобразования. Однако этот вариант осуществления представлен лишь в качестве наглядного примера для демонстрации распределения режимов внутрикадрового предсказания на несколько групп режимов предсказания и применения способа преобразования в зависимости от распределения на группы. Альтернативные варианты осуществления, реализующие распределение режимов внутрикадрового предсказания на несколько групп режимов предсказания и применение способа преобразования в зависимости от распределения на группы, также входят в объем охраны настоящего изобретения.
Из фиг. 5 видно, что первая группа 500 режимов внутрикадрового предсказания содержит режим вертикального предсказания, и соседние режимы предсказания могут использовать второй способ преобразования для выполнения одномерного (1D) преобразования в направлении рядов.
Вторая группа 520 режимов внутрикадрового предсказания содержит режим горизонтального предсказания, и соседние режимы предсказания могут использовать третий способ преобразования для выполнения одномерного (1D) преобразования в направлении столбцов.
Для третьей группы 540 режимов внутрикадрового предсказания может выполняться преобразование с использованием либо первого способа преобразования для двумерного (2D) преобразования в направлении как рядов, так и столбцов, либо четвертого способа преобразования, т.е. отсутствия преобразования в каком-либо направлении.
Режим DC или планарный режим в качестве ненаправленного режима позволяет выбирать из числа способов преобразования с первого по четвертый способ преобразования с малым значением оптимизации искажений (RDO, rate-distortion optimization) и использовать его.
В процессе декодирования с целью обратного преобразования для группы режимов предсказания можно использовать тот же способ преобразования, что использовался в процессе кодирования.
Таким образом, согласно настоящему варианту осуществления:
(1) В процессе кодирования можно определить информацию о режиме внутрикадрового предсказания и выборочно применять способ предсказания согласно определенной таким образом информации о режиме внутрикадрового предсказания. Информация о режиме внутрикадрового предсказания может представлять собой информацию о том, в какую из групп режимов предсказания входит данный режим внутрикадрового предсказания;
(2) В процессе декодирования можно декодировать информацию о режиме внутрикадрового предсказания. Обратное преобразование можно выполнять на основе декодированной информации о режиме внутрикадрового предсказания, используя способ преобразования, применявшийся для процесса кодирования, и воссоздавая тем самым блок.
На фиг. 6 показана диаграмма, иллюстрирующая способ выбора различного способа преобразования в зависимости от режима внутрикадрового предсказания согласно примеру осуществления настоящего изобретения.
Здесь и далее на фиг. 6 проиллюстрирован способ выборочного применения некоторых способов преобразования в зависимости от режима внутрикадрового предсказания согласно примеру осуществления.
Фиг. 6 демонстрирует определение того, к какой группе режимов внутрикадрового предсказания принадлежит текущий режим внутрикадрового предсказания (S600).
В первой группе режимов внутрикадрового предсказания (S610) третий способ преобразования для выполнения одномерного преобразования только в направлении столбцов с меньшей вероятностью будет иметь наилучшие результаты в плане RDO. Таким образом, при выполнении внутрикадрового предсказания можно выполнить преобразование с применением по меньшей мере одного из следующих способов преобразования: первого способа преобразования, второго способа преобразования и четвертого способа преобразования, исключая третий способ преобразования, с целью сравнения RDO. Среди этих способов преобразования можно выбрать показывающий наилучшие результаты способ преобразования в качестве способа преобразования для текущего элемента преобразования для выполнения преобразования (S640).
Во второй группе режимов внутрикадрового предсказания (S620) второй способ преобразования для выполнения одномерного преобразования только в направлении рядов с меньшей вероятностью будет иметь наилучшие результаты в плане RDO. Таким образом, при выполнении внутрикадрового предсказания можно выполнить преобразование с применением по меньшей мере одного из следующих способов преобразования: первого способа преобразования, третьего способа преобразования и четвертого способа преобразования, исключая второй способ преобразования, с целью сравнения RDO. Среди этих способов преобразования можно выбрать показывающий наилучшие результаты способ преобразования в качестве способа преобразования для текущего элемента преобразования для выполнения преобразования (S650).
В третьей группе режимов внутрикадрового предсказания (S630) преобразование может выполняться с применением выбранного одного из первого способа преобразования или четвертого способа преобразования, исключая второй способ преобразования для выполнения одномерного преобразования в направлении рядов и третий способ преобразования для выполнения одномерного преобразования в направлении столбцов (S660).
В таблицах со 2 по 4 показаны различные наборы способов преобразования, используемых для соответствующих групп режимов внутрикадрового предсказания согласно примеру осуществления настоящего изобретения.
Таблица 2
Способ преобразования
Преобразование рядов
Преобразование столбцов
Кодовое слов
Первый способ преобразования
0
0
0
двумерное преобразование
Второй способ преобразования
0
-
10
одномерное преобразование
Четвертый способ преобразования
-
-
11
В таблице 2 показан набор способов преобразования, используемых для первой группы режимов внутрикадрового предсказания, среди которых можно выбирать для применения один из трех способов преобразования, кроме третьего способа преобразования, заключающегося в выполнении только преобразования столбцов.
Таблица 3
Способ преобразования
Преобразование рядов
Преобразование столбцов
Кодовое слов
Первый способ преобразования
0
0
0
2-мерное преобразование
Третий способ преобразования
-
0
10
1-мерное преобразование
Четвертый способ преобразования
-
-
11
В таблице 3 показан набор способов преобразования, используемых для второй группы режимов внутрикадрового предсказания, среди которых можно выбирать для применения один из трех способов преобразования, кроме второго способа преобразования, заключающегося в выполнении только преобразования рядов.
Таблица 4
Способ преобразования
Преобразование рядов
Преобразование столбцов
Кодовое слов
Первый способ преобразования
0
0
0
2-мерное преобразование
Четвертый способ преобразования
-
-
1
В таблице 4 показан набор способов преобразования, используемых для третьей группы режимов внутрикадрового предсказания, среди которых можно выбирать для применения один из двух способов преобразования, кроме второго способа преобразования, заключающегося в выполнении только преобразования рядов, и третьего способа преобразования, заключающегося в выполнении только преобразования столбцов.
Описанный выше вариант осуществления приведен исключительно в качестве наглядной иллюстрации, и взаимное соответствие между группой режимов внутрикадрового предсказания и способом преобразования может изменяться в различных вариантах.
На фиг. 7 показан способ переназначения кодового слова в зависимости от режима внутрикадрового предсказания согласно примеру осуществления настоящего изобретения.
Из фиг. 7 видно, что кодовые слова, назначаемые способам преобразования, могут отличаться в зависимости от групп режимов внутрикадрового предсказания.
Поскольку для первой группы 700 режимов внутрикадрового предсказания с большей вероятностью будет использован второй способ преобразования для преобразование только рядов, то второму способу преобразования назначается более короткое кодовое слово, чем третьему способу преобразования, с целью повышения эффективности кодирования. В качестве альтернативы, кодовому слову, назначенному второму способу преобразования, ставится в соответствие самое короткое кодовое слово, а кодовому слову, назначенному третьему способу преобразования, ставится в соответствие самое длинное кодовое слово, и тем самым повышается эффективность кодирования.
Таким образом, первая группа 700 режимов внутрикадрового предсказания, вторая группа 720 режимов внутрикадрового предсказания и третья группа 740 режимов внутрикадрового предсказания могут обеспечивать кодирование согласно кодовым словам с использованием различных таблиц соответствия, то есть, соответственно, первой таблицы 710 соответствия, второй таблицы 730 соответствия и третьей таблицы 750 соответствия. Таким образом различные кодовые слова приводят в соответствие способам преобразования в зависимости от групп режимов внутрикадрового предсказания, улучшая тем самым эффективность кодирования и декодирования.
В таблице 5 показано взаимное соответствие кодовых слов и соответствующих способов преобразования для второй группы режимов внутрикадрового предсказания.
Таблица 5
Способ преобразования
Преобразование рядов
Преобразование столбцов
Кодовое слов
Первый способ преобразования
0
0
0
2-мерное преобразование
Второй способ преобразования
0
-
001
1-мерное преобразование
Третий способ преобразования
-
0
01
1-мерное преобразование
Четвертый способ преобразования
-
-
000
Как видно из таблицы 5, поскольку для второй группы режимов внутрикадрового предсказания в качестве оптимального способа более вероятен выбор третьего способа преобразования с выполнением преобразования столбцов, чем второго способа преобразования, то третьему способу преобразования может быть назначено более короткое кодовое слово, чем второму способу преобразования.
На фиг. 8 показана зависимость режима сканирования от способа преобразования согласно примеру осуществления настоящего изобретения.
Согласно фиг. 8, режим сканирования может включать горизонтальный порядок 800 сканирования, вертикальный порядок 820 сканирования и диагональные порядки 840 и 880 сканирования. При диагональном сканировании можно использовать различные порядки диагонального сканирования в зависимости от размеров блоков. Диагональный порядок 840 сканирования можно использовать для блоков 4x4, а диагональный порядок 860 сканирования можно использовать для блоков с размером более 4x4. Порядки сканирования, показанные на фиг. 8, приведены только для примера, в действительности можно также использовать альтернативные порядки сканирования.
Согласно настоящему варианту осуществления, можно использовать различные порядки сканирования в зависимости от режимов внутрикадрового предсказания и размеров блоков. Например, информацию о порядке сканирования, используемом для блока, можно получить с помощью таблицы соответствия, отражающей взаимное соответствие между режимом внутрикадрового предсказания, размером блока и порядком сканирования в зависимости от входных значений режима внутрикадрового предсказания и размера блока.
Кроме того, для упорядочивания коэффициентов можно использовать различные порядки сканирования в зависимости не только от информации о режимах внутрикадрового предсказания и размеров блоков, но также и от способов преобразования. Например, при втором способе преобразования с выполнением только преобразования рядов, разностные сигналы с наибольшей вероятностью будут сохранять вертикальное направление, поэтому можно использовать вертикальный порядок 820 сканирования. При третьем способе преобразования с выполнением только преобразования столбцов, разностные сигналы с наибольшей вероятностью будут сохранять горизонтальное направление по рядам, поэтому можно использовать горизонтальный порядок 800 сканирования. При способе преобразования, заключающемся в преобразовании как рядов, так и столбцов, для преобразования разностных сигналов можно использовать диагональный порядок 840 сканирования.
На фиг. 9 показана диаграмма, иллюстрирующая способ определения режима сканирования в зависимости от способа преобразования согласно примеру осуществления настоящего изобретения.
На фиг. 9 иллюстрируется способ определения порядка сканирования в зависимости от режима внутрикадрового предсказания, например, от информации о группе режимов внутрикадрового предсказания. Аналогично, поскольку способ преобразования определяется в зависимости от группы режимов внутрикадрового предсказания, способ определения порядка сканирования в зависимости от способа преобразования может также быть входить в настоящий вариант осуществления.
Согласно фиг. 9, выполняется определение группы режимов внутрикадрового предсказания (S900).
Поскольку преобразование выполняется в зависимости от группы режимов внутрикадрового предсказания, то определяется информация о режиме внутрикадрового предсказания, используемом для текущего элемента преобразования, и соответствующим образом определяется группа режимов внутрикадрового предсказания.
В первой группе (S910) режимов внутрикадрового предсказания можно использовать второй способ преобразования, и для преобразованной разностной информации можно использовать вертикальный (в направлении столбцов) порядок сканирования (S940).
Во второй группе (S920) режимов внутрикадрового предсказания можно использовать третий способ преобразования, и для преобразованной разностной информации можно использовать горизонтальный (в направлении рядов) порядок сканирования (S950).
В третьей группе (S930) режимов внутрикадрового предсказания можно использовать первый способ преобразования, и для преобразованной разностной информации можно использовать зигзагообразный (диагональный) порядок сканирования (S960).
Хотя на фиг. 9 показано определение порядка сканирования для блока в зависимости от трех получившихся в результате распределения групп режимов внутрикадрового предсказания, в пределах границ настоящего изобретения эти режимы можно разделить на еще большее число групп.
Также, как было раскрыто выше, в качестве фактора для определения порядка сканирования блока можно использовать не только информацию о режиме внутрикадрового предсказания, но и размер подлежащего сканированию блока.
В процессе кодирования можно определить режим внутрикадрового предсказания и порядок сканирования в зависимости от определенного таким образом режима внутрикадрового предсказания. Режимы внутрикадрового предсказания можно распределить на несколько групп и определить порядок сканирования для каждой из соответствующих групп.
В процессе декодирования можно определить порядок сканирования в зависимости от режима внутрикадрового предсказания, определенного в процессе кодирования, и воссоздать блок с использованием того же порядка сканирования, что использовался в процессе кодирования. Аналогично, в процессе декодирования, режимы внутрикадрового предсказания можно распределить на несколько групп и определить порядок сканирования для каждой из соответствующих групп.
Также в процессе декодирования информацию о порядке сканирования, примененном в процессе декодирования, можно определить на основе декодированной информации о режиме внутрикадрового предсказания и информации о размере блока. В процессе декодирования можно выполнять сканирование на основе определенной таким образом информации о способе сканирования, использованном в процессе кодирования, и формировать тот же самый блок, что и в процессе кодирования.
На фиг. 10 показана диаграмма, иллюстрирующая способ определения режима сканирования в зависимости от способа преобразования согласно примеру осуществления настоящего изобретения.
На фиг. 10 показана диаграмма, иллюстрирующая способ определения режима сканирования на основе информации о размере блока, помимо информации о режиме внутрикадрового предсказания.
Как видно из фиг. 10, информация о режиме внутрикадрового предсказания блока подается на вход (S1000).
Информация о номере режима внутрикадрового предсказания или индексная информация о соответствующей группе могут подаваться на вход, если номер режима внутрикадрового предсказания входит в предварительно заданную группу.
Информация о размере блока подается на вход (S1010).
Информацию о размере блока можно в дальнейшем использовать для определения порядка сканирования помимо информации о режиме внутрикадрового предсказания. Таким образом, даже при выполнении внутрикадрового предсказания для блоков с использованием того же номера режима внутрикадрового предсказания можно использовать различные порядки сканирования в зависимости от размеров блоков.
Порядок сканирования блока определяется на основе информации о режиме внутрикадрового предсказания и информации о размере блока (S1020). Способ сканирования блока можно определить на основе информации о режиме внутрикадрового предсказания и информации сканирования, вводимой на шагах S1000 и S1010.
В процессе кодирования порядок сканирования блока можно определить путем определения режима внутрикадрового предсказания и размера блока в процессе предсказания. В процессе декодирования порядок сканирования блока можно определить на основе полученной в результате энтропийного декодирования информации о режиме внутрикадрового предсказания и информации о размере блока.
Несмотря на представленные и раскрытые примеры осуществления настоящего изобретения, специалистам в данной области должно быть ясно, что в эти примеры осуществления могут быть внесены различные изменения, не затрагивающие принципов и сущности настоящего изобретения.