Способ кодирования видеоданных, способ декодирования видеоданных, устройство кодирования видеоданных и устройство декодирования видеоданных
Иллюстрации
Показать всеИзобретение относится к способу и устройству для преобразования сигнала при кодировании и декодировании видеоданных. Техническим результатом является повышение эффективности преобразования и сжатия видеоинформации. Предложен способ декодирования видеосигнала, включающий: получение из видеосигнала остаточных коэффициентов, относящихся к текущему блоку; получение прошедших обратное квантование остаточных коэффициентов путем выполнения обратного квантования остаточных коэффициентов; выполняемое на основании индекса режима с пропуском преобразования, указывающего режим с пропуском преобразования, соответствующий текущему блоку, определение режима с пропуском преобразования, соответствующего текущему блоку; получение на основании определенного таким образом режима с пропуском преобразования остаточных образцов из прошедших обратное квантование остаточных коэффициентов текущего блока. Режим с пропуском преобразования включает: режим двумерного преобразования, режим горизонтального преобразования, режим вертикального преобразования или режим без преобразования, при этом его определяют на основании размера текущего блока или формы текущего блока. 2 з.п. ф-лы, 7 ил., 5 табл.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к кодированию и декодированию видеоданных, и, более конкретно, к способу и устройству для преобразования сигнала при кодировании и декодировании видеоданных.
Уровень техники
В последнее время в различных областях практики возросла потребность в видеоизображениях высокого качества и высокого разрешения, например, в видеоизображениях высокого (high-definition, HD) и сверхвысокого (ultrahigh-definition, UHD) разрешения.
Поскольку разрешение и качество видеоизображений повышается, объем видеоданных по сравнению с используемым в настоящее время возрастает. Соответственно, при передаче видеоданных с использованием таких носителей информации, как уже находящиеся в эксплуатации проводные или беспроводные широкополосные линии связи, возрастают стоимость передачи и стоимость хранения.
Для устранения указанных недостатков, сопровождающих рост разрешения и качества видеоданных, могут использоваться высокоэффективные способы сжатия видеоданных.
В технике сжатия видеоданных используются различные способы, например, межкадровое предсказание, в котором значения пикселов текущего изображения предсказывают, исходя из изображений, предшествующих или следующих за текущим изображением; внутрикадровое предсказание, в котором значения пикселов текущего изображения предсказывают, используя информацию пикселов в текущем изображении; преобразование информации пикселов в частотную область в заранее заданном элементе с квантованием коэффициента преобразования; и энтропийное кодирование, в котором значению с более высокой частотой появления задают более короткий код, а значению с более низкой частотой появления задают более длинный код.
С использованием таких способов сжатия видеоданные могут быть эффективно сжаты и переданы либо сохранены.
Раскрытие изобретения
Задача изобретения
В аспекте настоящего изобретения предлагаются способ и устройство для эффективного преобразования видеоинформации.
В еще одном аспекте настоящего изобретения предлагаются способ и устройство для выполнения первого преобразования в соответствии со способом предсказания и для выполнения над низкочастотной областью второго преобразования в соответствии с первым преобразованием с целью повышения эффективности сжатия.
В еще одном аспекте настоящего изобретения предлагается способ и устройство для выполнения первого преобразования в соответствии с формой элемента разбиения и для выполнения над низкочастотной областью второго преобразования в соответствии с первым преобразованием с целью повышения эффективности сжатия.
Техническое решение
В варианте осуществления настоящего изобретения предлагается способ кодирования видеоданных, включающий выполнение предсказания для текущего блока; и преобразование остатка, сформированного в указанном предсказании, причем на шаге преобразования после выполнения первого преобразования над остатком выполняют второе преобразование над низкочастотной областью, при этом режим второго преобразования определяют на основании режима первого преобразования.
На шаге выполнения предсказания для текущего блока может выполняться внутрикадровое предсказание, а в качестве режима первого преобразования на основании направления режима предсказания во внутрикадровом предсказании может быть определен один из следующих режимов: двунаправленное (двумерное) преобразование, однонаправленное (одномерное) вертикальное преобразование, однонаправленное горизонтальное преобразование и режим без преобразования. При этом режим второго преобразования может совпадать с режимом первого преобразования.
На шаге выполнения предсказания для текущего блока может выполняться межкадровое предсказание, а в качестве режима первого преобразования на основании формы текущего блока может определяться один из следующих режимов: двунаправленное преобразование, однонаправленное вертикальное преобразование, однонаправленное горизонтальное преобразование и режим без преобразования. При этом режим второго преобразования может совпадать с режимом первого преобразования.
На шаге преобразования режим первого преобразования может определяться на основании оптимизации по скорости передачи и искажениям (ratedistortion optimization). При этом может передаваться информация, указывающая определенный таким образом режим первого преобразования.
Вторым преобразованием может быть дискретное синусное преобразование (ДСП) с размером блока 4×4.
В еще одном варианте осуществления настоящего изобретения предлагается способ декодирования видеоданных, включающий выполнение обратного преобразования с целью формирования остаточного блока для текущего блока; и выполнение предсказания с целью формирования предсказанного блока для текущего блока, причем при выполнении обратного преобразования после выполнения первого обратного преобразования над кодированной остаточной информацией текущего блока может выполняться второе обратное преобразование над низкочастотной областью, при этом режим второго преобразования может определяться на основании режима первого преобразования.
При выполнении предсказания для текущего блока может выполняться внутрикадровое предсказание, а в качестве режима первого обратного преобразования на основании направления режима предсказания во внутрикадровом предсказании может быть определен один из следующих режимов: двунаправленное преобразование, однонаправленное вертикальное преобразование, однонаправленное горизонтальное преобразование и режим без преобразования. При этом режим второго обратного преобразования может совпадать с режимом первого обратного преобразования.
При выполнении предсказания для текущего блока может выполняться межкадровое предсказание, а в качестве режима первого обратного преобразования на основании формы текущего блока может быть определен один из следующих режимов: двунаправленное преобразование, однонаправленное вертикальное преобразование, однонаправленное горизонтальное преобразование и режим без преобразования. При этом режим второго обратного преобразования может совпадать с режимом первого обратного преобразования.
При выполнении обратного преобразования первое обратное преобразование может выполняться в соответствии с режимом, указанным принятой информацией, которая в качестве режима первого обратного преобразования указывает один из следующих режимов: двунаправленное преобразование, однонаправленное вертикальное преобразование, однонаправленное горизонтальное преобразование и режим без преобразования. При этом режим второго обратного преобразования может совпадать с режимом первого обратного преобразования.
Вторым преобразованием может быть ДСП с размером блока 4×4.
В еще одном варианте осуществления настоящего изобретения предлагается устройство кодирования видеоданных, содержащее модуль предсказания, выполненный с возможностью выполнения предсказания для текущего блока, и модуль преобразования, выполненный с возможностью преобразования остатка, сформированного в указанном предсказании, причем модуль преобразования после выполнения первого преобразования над остатком выполняет второе преобразование над низкочастотной областью, а режим второго преобразования определяет на основании режима первого преобразования.
В еще одном варианте осуществления настоящего изобретения предлагается способ декодирования видеоданных, содержащий модуль обратного преобразования, выполненный с возможностью формирования остаточного блока для текущего блока путем выполнения обратного преобразования; и модуль предсказания, выполненный с возможностью формирования предсказанного блока для текущего блока, причем после выполнения первого обратного преобразования над кодированной остаточной информацией текущего блока модуль обратного преобразования выполняет второе обратное преобразование над низкочастотной областью, а режим второго преобразования определяет на основании режима первого преобразования.
Технический результат
Согласно настоящему изобретению, становится возможным эффективное выполнение преобразования и обратного преобразования над остаточной (разностной) информацией.
Согласно настоящему изобретению, первое преобразование может осуществляться в соответствии со способом предсказания, а над низкочастотной областью может выполняться второе преобразование в соответствии с первым преобразованием, чем повышается эффективность сжатия и передачи данных.
Согласно настоящему изобретению, первое преобразование может осуществляться в соответствии с формой элемента разбиения, а над низкочастотной областью может выполняться второе преобразование в соответствии с первым преобразованием, чем повышается эффективность сжатия и передачи данных.
Краткое описание чертежей
На фиг. 1 показана функциональная схема устройства кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 2 показана функциональная схема устройства декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 3 схематично показаны режимы предсказания, используемые для внутрикадрового предсказания.
На фиг. 4 схематично показан режим с пропуском преобразования.
На фиг. 5 показана блок-схема, схематично поясняющая операцию кодирования, в которой используются режим с пропуском преобразования и второе преобразование в соответствии с настоящим изобретением.
На фиг. 6 схематично показана информация о прилегающем (соседнем) блоке, которая может быть использована в режиме с пропуском преобразования, в режиме слияния и в режиме AMVP.
На фиг. 7 показана блок-схема, схематично поясняющая операцию декодирования, в которой используется режим с пропуском преобразования и второе преобразование в соответствии с настоящим изобретением.
Осуществление изобретения
Настоящее изобретение может быть различным образом изменено и модифицировано, а его пояснение возможно с использованием различных примерных вариантов осуществления, некоторые из которых описываются далее и поясняются чертежами. Однако данные варианты осуществления не имеют целью ограничение настоящего изобретения, а подразумеваются содержащими все модификации, эквиваленты и замены, охватываемые сущностью и техническим содержанием настоящего изобретения. Везде на чертежах одинаковые ссылочные обозначения относятся к аналогичным элементам.
При описании различных элементов могут использоваться обозначения «первый», «второй» и т.д., но эти обозначения не накладывают ограничений на указанные элементы. Данные обозначения используются только для того, чтобы отличать один элемент от другого элемента. Например, без отступления от сути настоящего изобретения первый элемент может быть назван вторым элементом, а второй элемент аналогично может быть назван первым элементом. Конструкция «и/или» включает любой элемент и все сочетания элементов перечня, связанного с данной конструкцией.
Следует понимать, что если об элементе говорится, что он соединен или связан с другим элементом, то данный элемент может быть непосредственно соединен или связан с указанным другим элементом или с промежуточными элементами. Если же об элементе говорится, что он непосредственно соединен или непосредственно связан с другим элементом, то промежуточные элементы отсутствуют.
Использованная в настоящем раскрытии терминология предназначена только для описания конкретных вариантов осуществления и не подразумевает ограничений настоящего изобретения. В настоящем раскрытии подразумевается, что формы единственного числа также включают формы множественного числа, если из контекста явным образом не следует иное. Также необходимо понимать, что термины «содержит» и/или «имеет» в данном документе следует трактовать как указывающие на наличие особенностей, систем, шагов, операций, элементов и/или компонентов, но не запрещающие наличие или добавление одной или более других особенностей, систем, шагов, операций, элементов, компонентов и/или групп вышеперечисленного.
Далее со ссылкой на сопровождающие чертежи подробно описываются примерные варианты осуществления настоящего изобретения. На чертежах одинаковые ссылочные обозначения относятся к аналогичным элементам, и повторное описание подобных элементов не приводится.
На фиг. 1 показана функциональная схема устройства кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
Как показано на фиг. 1, устройство 100 кодирования видеоданных содержит модуль 105 разбиения изображения, модуль 110 предсказания, модуль 115 преобразования, модуль 120 квантования, модуль 125 переупорядочения, модуль 130 энтропийного кодирования, модуль 135 деквантования, модуль 140 обратного преобразования, модуль 145 фильтрации и память (запоминающее устройство) 150.
Несмотря на то, что для пояснения различных функциональных модулей устройства кодирования видеоданных элементы на фиг. 1 показаны отдельными, это не означает, что каждый элемент образован отдельным аппаратным модулем или программным модулем. Иными словами, для удобства описания элементы показаны независимыми, но для выполнения функций два или более элементов могут быть объединены в один элемент, либо один элемент может быть разделен на несколько элементов. Варианты осуществления изобретения, в которых некоторые элементы объединены в один составной элемент и/или элемент разделен на несколько самостоятельных элементов, входят в объем охраны настоящего изобретения без отступления от сущности настоящего изобретения.
Некоторые элементы, представляя собой необязательные составляющие, служащие только для улучшения технических характеристик, могут быть несущественны для основных функций настоящего изобретения. Настоящее изобретение может быть осуществлено с использованием лишь составляющих, существенных для вариантов осуществления настоящего изобретения, а составляющие, служащие только для улучшения технических характеристик, могут быть исключены. Конфигурации, содержащие только существенные составляющие без необязательных составляющих, служащих только для улучшения технических характеристик, входят в объем охраны настоящего изобретения.
Модуль 105 разбиения изображения может разбивать входное изображение на по меньшей мере один элемент обработки. Элементом обработки здесь может быть элемент предсказания (PL), prediction unit), элемент преобразования (TU, transform unit) или элемент кодирования (CU, coding unit). Модуль 105 разбиения изображения может разбивать одно изображение на множество комбинаций элементов кодирования, элементов предсказания и элементов преобразования и выбирать одну комбинацию элементов кодирования, элементов предсказания и элементов преобразования на основании заранее заданного критерия (например, функции стоимости), тем самым выполняя кодирование изображения.
Например, одно изображение может быть разбито на множество элементов кодирования. Для разбиения изображения на элементы кодирования может использоваться древовидная рекурсивная структура, например, дерево квадрантов. Имея в качестве корневого узла дерева изображение или элемент кодирования наибольшего размера, элемент кодирования может подвергаться дальнейшему разбиению на субэлементы кодирования с таким же числом дочерних узлов, как у уже прошедших разбиение элементов кодирования. Элемент кодирования, не подвергаемый дальнейшему разбиению в соответствии с заранее заданным ограничением, представляет собой листовой узел. Иными словами, если принято, что элемент кодирования может быть разбит только на квадранты, то один элемент кодирования может быть разбит, самое большее, на четыре различных элемента кодирования.
В вариантах осуществления настоящего изобретения термин «элемент кодирования» может использоваться для обозначения не только элемента для кодирования, но и элемента для декодирования.
Элемент предсказания может быть разбит на по меньшей мере один квадратный или прямоугольный элемент одинакового размера в элементе кодирования или может быть разбит таким образом, что форма полученного в результате разбиения элемента предсказания отлична от формы других элементов предсказания в элементе кодирования.
Если элемент предсказания, в котором должно быть выполнено внутрикадровое предсказание, сформирован на основе элемента кодирования, и указанный элемент кодирования не является наименьшим элементом кодирования, то внутрикадровое предсказание может быть выполнено без разбиения указанного элемента кодирования на множество элементов предсказания (N×N).
Модуль 110 предсказания может содержать модуль межкадрового предсказания, предназначенный для выполнения межкадрового предсказания, и модуль внутрикадрового предсказания, предназначенный для выполнения внутрикадрового предсказания. Модуль предсказания может принимать решение о том, какое предсказание, межкадровое предсказание или внутрикадровое предсказание, должно быть выполнено для элемента предсказания, и может в соответствии с выбранным способом предсказания задавать конкретную информацию (например, режим внутрикадрового предсказания, вектор перемещения (motion vector), опорное изображение и т.п.). При этом элемент обработки, для которого выполняется предсказание, может отличаться от элемента обработки, для которого выбирается способ предсказания и задается конкретная информация. Например, способ предсказания и режим предсказания могут определяться для каждого элемента предсказания, тогда как предсказание может выполняться для каждого элемента преобразования. Значение остатка (разности) (остаточный блок, разностный блок, residual block) между сформированным предсказанным блоком и исходным блоком может передаваться в модуль 115 преобразования. Затем модуль 130 энтропийного кодирования вместе со значением остатка может кодировать и передавать в декодер информацию о режиме предсказания, информацию о векторе перемещения и другую информацию, использованную для предсказания. При использовании специального режима кодирования исходный блок может кодироваться и передаваться в устройство декодирования без формирования предсказанного блока модулем 110 предсказания.
Модуль внутрикадрового предсказания может выполнять предсказание для элемента предсказания на основании информации по меньшей мере одного изображения из числа предыдущего и последующего изображений относительно текущего изображения. Модуль внутрикадрового предсказания может содержать модуль интерполяции опорного изображения, модуль предсказания перемещения и модуль компенсации перемещения.
Модуль интерполяции опорного изображения может принимать из памяти 150 информацию опорного изображения и на основании опорного изображения формировать информацию пикселов более часто по сравнению с целочисленными позициями пикселов (с целым межпиксельным шагом или расстоянием между пикселами). В случае пикселов яркости для формирования информации пиксела более часто по сравнению с целочисленными позициями пикселов, с шагом 1/4 межпиксельного шага (с шагом 1/4 пиксела), может использоваться 8-отводный интерполирующий фильтр на основе ДКП с переменным коэффициентом фильтра. В случае пикселов цветности для формирования информации пиксела более часто по сравнению с целочисленными позициями пикселов, с шагом 1/8 межпиксельного шага, может использоваться 4-отводный интерполирующий фильтр на основе ДКП с переменным коэффициентом фильтра.
Модуль предсказания перемещения может выполнять предсказание перемещения на основании опорного изображения, интерполированного модулем интерполяции опорного изображения. Для вычисления вектора перемещения могут использоваться различные способы, например, алгоритм нахождения соответствия блоков, основанный на полном поиске (full search-based block matching algorithm, FBMA), алгоритм трехстадийного поиска (three-step search, TSS) и новый алгоритм трехстадийного поиска (new three-step search, NTS). Вектор перемещения характеризуется величиной вектора перемещения, выражаемой в единицах 1/2 или 1/4 межпиксельного шага в базисе интерполированных пикселов. Модуль предсказания перемещения может выполнять предсказание для текущего элемента предсказания с использованием различных способов предсказания перемещения. Для предсказания перемещения могут использоваться различные способы, например, пропуск, слияние, улучшенное предсказание вектора перемещения (advanced motion vector prediction, AMVP) и т.п.
Модуль внутрикадрового предсказания может формировать блок предсказания на основании информации опорного пиксела, прилегающего к текущему блоку, представляющему собой информацию пиксела в текущем изображении. Если блоком, прилегающим к текущему элементу предсказания, является блок, прошедший межкадровое предсказание, а опорным пикселом является пиксел, прошедший межкадровое предсказание, то информация опорного пиксела, содержащаяся в указанном блоке, прошедшем межкадровое предсказание, может быть заменена информацией опорного пиксела в блоке, прошедшем внутрикадровое предсказание. Иными словами, если опорный пиксел отсутствует, то информация отсутствующего опорного пиксела может быть заменена по меньшей мере информацией одного опорного пиксела из числа опорных пикселов, имеющихся в наличии.
В число режимов предсказания при внутрикадровом предсказании входят режимы предсказания с выделенным направлением, в которых информация опорного пиксела используется в соответствии с направлением предсказания, и режимы предсказания без выделенного направления, в которых при выполнении предсказания информация о направлении не используется. Режим для предсказания информации о яркости и режим для предсказания информации о цветности могут различаться. Для предсказания информации о цветности могут быть использованы информация внутрикадрового режима предсказания, использованная для получения информации о яркости, или предсказанная информация сигнала яркости.
Если элемент предсказания и элемент преобразования при выполнении внутрикадрового предсказания имеют одинаковый размер, то внутрикадровое предсказание для элемента предсказания может выполняться на основании левых пикселов, верхнего левого пиксела и верхних пикселов элемента предсказания. Если же элемент предсказания и элемент преобразования при выполнении внутрикадрового предсказания имеют различные размеры, то внутрикадровое предсказание может выполняться с использованием опорных пикселов на основании элемента преобразования. Внутрикадровое предсказание с разбиением N×N может осуществляться только для наименьшего элемента кодирования.
В способе внутрикадрового предсказания до формирования предсказанного блока к опорным пикселам в соответствии с режимом предсказания может применяться адаптивный фильтр внутрикадрового сглаживания (adaptive intra smoothing filter, AIS). К опорным пикселам могут применяться фильтры AIS различных типов. В способе внутрикадрового предсказания режим внутрикадрового предсказания текущего элемента предсказания может быть предсказан, исходя из режима внутрикадрового предсказания элемента предсказания, прилегающего к текущему элементу предсказания (соседнего с ним). При предсказании режима предсказания текущего элемента предсказания с использованием информации о режиме, предсказанной исходя из прилегающего элемента предсказания, в случае, когда текущий элемент предсказания и прилегающий элемент предсказания имеют один и тот же режим внутрикадрового предсказания, с использованием заранее определенной флаговой информации может передаваться информация, указывающая, что текущий элемент предсказания и прилегающий элемент предсказания имеют один и тот же режим предсказания. Если текущий элемент предсказания и прилегающий элемент предсказания имеют различные режимы предсказания, то информация о режиме предсказания текущего блока может быть закодирована с использованием энтропийного кодирования.
Остаточный (разностный) блок, содержащий информацию остатка, представляющего собой разность между предсказанным блоком и исходным блоком элемента предсказания, может быть сформирован модулем 110 предсказания на основании элемента предсказания. Сформированный остаточный (разностный) блок может передаваться в модуль 115 преобразования.
Модуль 115 преобразования может преобразовывать остаточный блок, содержащий информацию остатка элемента предсказания, сформированную на основании исходного блока модулем 110 предсказания, с использованием одного из способов преобразования, например, дискретного косинусного преобразования (ДКП) или дискретного синусного преобразования (ДСП). Способ преобразования, который должен использоваться для преобразования остаточного блока, может выбираться из ДКП и ДСП на основании информации внутрикадрового режима предсказания элемента предсказания, использованного для формирования остаточного блока.
Модуль 120 квантования может квантовать значения, преобразованные в частотную область модулем 115 преобразования. Параметр квантования может меняться в зависимости от блока или значимости изображения. Данные из модуля 120 квантования могут передаваться в модуль 135 деквантования и в модуль 125 переупорядочения.
Модуль 125 переупорядочения может переупорядочивать коэффициенты для квантованных значений остатка.
Модуль 125 переупорядочения может преобразовывать двумерный блок коэффициентов в одномерный вектор коэффициентов путем сканирования коэффициентов. Например, модуль 125 переупорядочения может преобразовывать двумерный блок коэффициентов в одномерный вектор коэффициентов с использованием прямого сканирования. Вместо прямого сканирования в зависимости от размера элемента преобразования и режима внутрикадрового предсказания может использоваться вертикальное сканирование двумерного блока коэффициентов в направлении столбцов и горизонтальное сканирование двумерного блока коэффициентов в направлении строк. Иными словами, используемый способ сканирования может быть выбран на основании размера элемента преобразования и режима внутрикадрового предсказания из числа прямого сканирования, вертикального сканирования и горизонтального сканирования.
Модуль 130 энтропийного кодирования может выполнять энтропийное кодирование на основании данных, полученных модулем 125 переупорядочения. Для энтропийного кодирования могут использоваться различные способы кодирования, например, экспоненциальное кодирование Голомба, контекстно-адаптивное кодирование с переменной длиной (context-adaptive variable length coding, CAVLC) и контекстно-адаптивное двоичное арифметическое кодирование (context-adaptive binary arithmetic coding, CABAC).
Модуль 130 энтропийного кодирования может кодировать разнообразную информацию, которая может быть принята из модуля 125 переупорядочения и из модуля 110 предсказания, например, информацию о коэффициенте остатка и информацию о типе блока, относящуюся к элементу кодирования, информацию о режиме предсказания, информацию об элементе разбиения, информацию об элементе предсказания, информацию об элементе передачи, информацию о векторе перемещения, информацию об опорном кадре, информацию о блочной интерполяции и информацию о фильтрации.
Модуль 130 энтропийного кодирования может выполнять энтропийное кодирование коэффициентов элемента кодирования, принятых из модуля 125 переупорядочения.
Модуль 135 деквантования и модуль 140 обратного преобразования выполняют деквантование (обратное квантование) данных, квантование которых выполнено модулем 120 квантования, и выполняют обратное преобразование данных, преобразование которых выполнено модулем 115 преобразования. Остаток, сформированный модулем 135 деквантования и модулем 140 обратного преобразования, может складываться с предсказанным блоком, предсказание которого выполнено модулем предсказания вектора перемещения, модулем компенсации перемещения и модулем внутрикадрового предсказания модуля 110 предсказания, в результате чего формируется восстановленный блок.
Модуль 145 фильтрации может содержать по меньшей мере один из следующих элементов: фильтр подавления блочности, модуль коррекции смещения, адаптивный петлевой фильтр (adaptive loop filter, ALF).
Фильтр 145 подавления блочности может удалять блочные искажения, возникающие на границах между блоками в восстановленном изображении. Необходимость применения фильтра подавления блочности к текущему блоку может определяться на основании пикселов, содержащихся в нескольких строках или столбцах блока. При применении фильтра подавления блочности к блоку в зависимости от требуемой интенсивности подавления блочности может использоваться сильный фильтр или слабый фильтр. Кроме того, если при применении фильтра подавления блочности выполняются горизонтальная фильтрация и вертикальная фильтрация, то горизонтальная фильтрация и вертикальная фильтрация могут выполняться одновременно.
Модуль коррекции смещения может корректировать смещение на пиксел изображения, прошедшего фильтр подавления блочности, относительно исходного изображения. Для коррекции смещения в конкретном изображении может быть использован способ, в котором пикселы изображения разбивают на заранее заданное число областей, определяют область, подлежащую коррекции смещения, и выполняют коррекцию смещения в определенной указанным образом области, либо способ, в котором коррекцию смещения выполняют с учетом информации о границе для каждого пиксела.
ALF может выполнять фильтрацию на основании сравнения результата фильтрации восстановленного изображения и исходного изображения. Пикселы, содержащиеся в изображении, могут быть разбиты на заранее определенные группы, для каждой группы может определяться фильтр, подлежащий применению, и к каждой группе может применяться свой вид фильтрации. Информация о необходимости применения фильтра ALF может передаваться в каждом элементе кодирования, а форма и коэффициент фильтра ALF, подлежащие применению к каждому блоку, могут быть разными. Могут использоваться фильтры ALF разных типов, а количество коэффициентов, используемых в соответствующем фильтре, может быть разным. Кроме того, к блоку независимо от его параметров может применяться фильтр ALF одного типа (фиксированного типа).
Память 150 может хранить восстановленный блок или изображение, переданные из модуля 145 фильтрации, а сохраненный восстановленный блок или изображение могут передаваться в модуль 110 предсказания при выполнении межкадрового предсказания.
На фиг. 2 показана функциональная схема, поясняющая устройство декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
Как показано на фиг. 2, устройство 200 декодирования видеоданных может содержать модуль 210 энтропийного декодирования, модуль 215 переупорядочения, модуль 220 деквантования, модуль 225 обратного преобразования, модуль 230 предсказания, модуль 235 фильтрации и память (запоминающее устройство) 240.
Если из устройства кодирования видеоданных принимается битовый поток видеоданных, то входной битовый поток может быть декодирован в соответствии с операцией, обратной операции кодирования видеоданных в устройстве кодирования видеоданных.
Модуль 210 энтропийного декодирования может выполнять энтропийное декодирование в соответствии с операцией, обратной операции энтропийного кодирования, выполняемой модулем энтропийного кодирования устройства кодирования видеоданных. Для энтропийного декодирования могут использоваться различные способы, соответствующие способу, использованному в устройстве кодирования видеоданных, например, экспоненциальное кодирование Голомба, CAVLC и CABAC.
Модуль 210 энтропийного декодирования может декодировать информацию, относящуюся к внутрикадровому предсказанию и межкадровому предсказанию, выполняемым устройством кодирования.
Модуль 215 переупорядочения может выполнять переупорядочение над битовым потоком, прошедшим энтропийное декодирование в модуле 210 энтропийного декодирования, на основании способа переупорядочения, использованного в устройстве кодирования. Модуль 215 переупорядочения может восстанавливать и переупорядочивать коэффициенты, представленные в форме одномерного вектора, в двумерный блок коэффициентов. Модуль 215 переупорядочения, в который может передаваться информация, относящаяся к сканированию коэффициентов, выполняемому модулем кодирования, может с использованием способа обратного сканирования переупорядочивать указанные коэффициенты на основании порядка сканирования, в соответствии с которым устройство кодирования выполняет сканирование.
Модуль 220 деквантования может выполнять деквантование (обратное квантование) на основании параметра квантования, переданного из устройства кодирования, и переупорядоченных коэффициентов блока.
Модуль 225 обратного преобразования может выполнять обратное ДКП и обратное ДСП по отношению к ДКП и ДСП, выполняемым модулем преобразования, где указанные ДКП и ДСП были применены к результату квантования, выполненного устройства кодирования видеоданных. Обратное преобразование может выполняться на основании элемента преобразования, заданного устройством кодирования видеоданных. Модуль преобразования устройства кодирования видеоданных может избирательно выполнять ДКП и ДСП в зависимости от множества элементов информации, например, в зависимости от способа предсказания, размера текущего блока и направления предсказания и т.д., а модуль 225 обратного преобразования декодера может выполнять обратное преобразование на основании информации о преобразовании, выполняемом модулем преобразования устройства кодирования видеоданных.
Модуль 230 предсказания может формировать предсказанный блок на основании информации формирования предсказанного блока, переданной из модуля 210 энтропийного декодирования, и информации о ранее декодированном блоке или изображении, переданной из памяти 240.
Как и при описанной выше работе устройства кодирования видеоданных, если элемент предсказания и элемент преобразования при выполнении внутрикадрового предсказания имеют одинаковый размер, то внутрикадровое предсказание для элемента предсказания выполняется на основании левых пикселов, верхнего левого пиксела и верхних пикселов элемента предсказания. Если же элемент предсказания и элемент преобразования при выполнении внутрикадрового предсказания имеют различные размеры, то внутрикадровое предсказание может выполняться с использованием опорных пикселов на основании элемента преобразования. Внутрикадровое предсказание с разбиением N×N может осуществляться только для наименьшего элемента кодирования.
Модуль 230 предсказания содержит модуль выбора элемента предсказания, модуль межкадрового предсказания и модуль внутрикадрового предсказания. В модуль выбора элемента предсказания может передаваться различная информация, например, информация об элементе предсказания, принятая из модуля энтропийного декодирования, информация о режиме предсказания для способа внутрикадрового предсказания и информация, относящаяся к предсказанию перемещения для способа межкадрового предсказания. Модуль выбора элемента предсказания может выбирать элемент предсказания в текущем элементе кодирования и может определять, использовать ли для выбранного элемента предсказания межкадровое предсказание или внутрикадровое предсказание. Модуль межкадрового предсказания может выполнять межкадровое предсказание для текущего элемента предсказания на основании информации по меньшей мере одного изображения из числа предыдущего и последующего изображений относительно текущего изображения, содержащего текущий элемент предсказания, с использованием информации, необходимой для межкадрового предсказ