СПОСОБ ФОРМИРОВАНИЯ ВОССТАНОВЛЕННОГО БЛОКА
METHOD OF RECONSTRUCTED UNIT FORMATION

Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству декодирования изображения, и более конкретно к способу и устройству адаптивного формирования блока прогнозирования и остаточного блока, имеющих размер, равный размеру единицы преобразования в соответствии с режимом внутреннего прогнозирования.
Уровень техники
В стандарте H.264/MPEG-4 AVC (Экспертная группа по вопросам движущегося изображения - Усовершенствованное видеокодирование) один видеокадр делится на макроблоки для кодирования изображения, соответствующие макроблоки кодируются посредством формирования блока прогнозирования, используя внешнее прогнозирование или внутреннее прогнозирование. Разность между исходным блоком и блоком прогнозирования преобразуется для формирования блока преобразования, и блок преобразования квантуется с использованием параметра квантования и одной из множества заданных матриц квантования. Квантованный коэффициент квантованного блока сканируют посредством заданного типа сканирования и затем энтропийно кодируют. Параметр квантования корректируется на макроблок и кодируется с использованием предыдущего параметра квантования.
В тоже время были внедрены методы, использующие различные размеры единицы кодирования, для повышения эффективности кодирования. Также внедрены методы, увеличивающие количество режимов внутреннего прогнозирования, для формирования блока прогнозирования, более подобного исходному блоку.
Но если увеличивается количество режимов внутреннего прогнозирования, становится большим количество битов кодирования, требуемых для сигнализации режима внутреннего прогнозирования. Также, если больше размер единицы кодирования, больше и разность между исходным блоком и блоком прогнозирования.
Следовательно, требуется более эффективный способ сигнализации режима внутреннего прогнозирования. Более эффективный способ также требуется и для минимизации разности между исходным блоком и блоком прогнозирования и для минимизации количества битов кодирования остаточного блока.
Раскрытие изобретения
Техническая проблема
Настоящее изобретение относится к способу выведения режима внутреннего прогнозирования единицы прогнозирования, определения размера текущего блока, используя информацию о размере преобразования, формирования блока прогнозирования и остаточного блока текущего блока согласно режиму внутреннего прогнозирования и формирования восстановленного блока текущего блока, используя блок прогнозирования и остаточный блок.
Техническое решение
Один аспект настоящего изобретения обеспечивает способ формирования восстановленного блока, содержащий: выведение режима внутреннего прогнозирования единицы прогнозирования, определение размера текущего блока, используя информацию о размере преобразования, формирование блока прогнозирования текущего блока в соответствии с режимом внутреннего прогнозирования, формирование остаточного блока текущего блока в соответствии с режимом внутреннего прогнозирования и формирование восстановленного блока текущего блока, используя блок прогнозирования и остаточный блок.
Полезные эффекты изобретения
В способе согласно настоящему изобретению получают режим внутреннего прогнозирования единицы прогнозирования, определяют размер текущего блока, используя информацию о размере преобразования, формируют блок прогнозирования текущего блока в соответствии с режимом внутреннего прогнозирования, формируют остаточный блок текущего блока в соответствии с режимом внутреннего прогнозирования и формируют восстановленный блок текущего блока, используя блок прогнозирования и остаточный блок. Размеры блока прогнозирования и остаточного блока устанавливают равными размеру единицы преобразования. Поэтому длительность внутреннего прогнозирования уменьшается, и уменьшается количество битов кодирования остаточного блока посредством формирования блока прогнозирования очень подобным исходному блоку. Также уменьшается количество битов сигнализации, требуемых для сигнализации режима внутреннего прогнозирования посредством адаптивного формирования группы наиболее вероятных режимов (МРМ) в соответствии с соседними режимами внутреннего прогнозирования. Краткое описание чертежей
Фиг. 1 представляет собой блок-схему устройства кодирования изображения согласно настоящему изобретению.
Фиг. 2 представляет собой блок-схему устройства декодирования изображения согласно настоящему изобретению.
Фиг. 3 представляет собой блок-схему, иллюстрирующую процедуру формирования восстановленного блока при внутреннем прогнозировании согласно настоящему изобретению.
Фиг. 4 представляет собой блок-схему, иллюстрирующую процедуру получения режима внутреннего прогнозирования текущей единицы прогнозирования согласно настоящему изобретению.
Фиг. 5 представляет собой принципиальную схему, иллюстрирующую режимы внутреннего прогнозирования согласно настоящему изобретению.
Фиг. 6 представляет собой блок-схему, иллюстрирующую процедуру формирования блока прогнозирования согласно настоящему изобретению.
Фиг. 7 представляет собой принципиальную схему, иллюстрирующую положения опорных пикселей текущего блока согласно настоящему изобретению.
Фиг. 8 представляет собой блок-схему, иллюстрирующую процедуру формирования остаточного блока согласно настоящему изобретению.
Фиг. 9 представляет собой блок-схему, иллюстрирующую процедуру получения параметра квантования согласно настоящему изобретению.
Фиг. 10 представляет собой блок-схему, иллюстрирующую устройство формирования восстановленного блока согласно настоящему изобретению.
Осуществление изобретения
Ниже в данном документе подробно описаны различные варианты осуществления настоящего изобретения со ссылкой на сопровождающие чертежи. Однако настоящее изобретение не ограничивается описанными ниже примерными вариантами осуществления, но могут быть реализованы в различных видах. Поэтому возможно множество других модификаций и вариантов настоящего изобретения, но необходимо понять, что в пределах объема описанной сущности настоящее изобретение может быть осуществлено на практике иным образом, чем было конкретно описано.
Фиг. 1 представляет собой блок-схему устройства 100 кодирования изображения согласно настоящему изобретению.
Как показано на фиг. 1, устройство 100 кодирования изображения согласно настоящему изобретению включает в себя узел 101 деления видеокадра, узел 103 преобразования, узел 104 квантования, узел 105 сканирования, узел 106 энтропийного кодирования, узел 107 обратного квантования, узел 108 обратного преобразования, узел 110 постобработки, узел 111 хранения видеокадров, узел 112 внутреннего прогнозирования, узел 113 внешнего прогнозирования, вычитатель 102 и сумматор 109.
Узел 101 деления видеокадра делит видеокадр или серию последовательных макроблоков на множество наибольших единиц кодирования (LCU) и делит каждую LCU на одну или более единиц кодирования. Узел 101 деления видеокадра определяет режим прогнозирования каждой единицы кодирования и размер единицы прогнозирования и размер единицы преобразования.
LCU включает в себя одну или более единиц кодирования. LCU имеет структуру рекурсивного дерева квадрантов для задания структуры деления. Информация, задающая максимальный размер и минимальный размер единицы кодирования, включена в набор параметров последовательности. Структура деления задается одним или более флагами разделенной единицы кодирования (split_cu_flags). Единица кодирования имеет размер 2N×2N.
Единица кодирования включает в себя одну или более единиц прогнозирования. При внутреннем прогнозировании размер единицы прогнозирования составляет 2N×2N или N×N. При внешнем прогнозировании размер единицы прогнозирования составляет 2N×2N, 2N×N, N×2N или N×N. Когда единица прогнозирования представляет собой асимметричное разделение при внешнем прогнозировании, размер единицы прогнозирования также может быть равен одному из hN×2N, (2-h)N×2N, 2N×hN и 2N×(2-h)N. Значение h равно 1/2.
Единица кодирования включает в себя одну или более единиц преобразования. Единица преобразования имеет структуру рекурсивного дерева квадрантов для задания структуры деления. Структура деления определяется одним или более флагами разделенной единицы преобразования (split_tu_flags). Информация, задающая максимальный размер и минимальный размер единицы преобразования, включена в набор параметров последовательности.
Узел 112 внутреннего прогнозирования определяет режим внутреннего прогнозирования текущей единицы прогнозирования и формирует блок прогнозирования, используя режим внутреннего прогнозирования. Блок прогнозирования имеет тот же размер, что и единица преобразования.
Узел 113 внешнего прогнозирования определяет информацию о движении текущей единицы прогнозирования, используя один или более опорных видеокадров, хранимых в узле 111 хранения видеокадров, и формирует блок прогнозирования единицы прогнозирования. Информация о движении включает в себя один или более индексов опорного видеокадра и один или более векторов движения.
Узел 103 преобразования преобразует остаточные сигналы, формируемые с использованием исходного блока и блока прогнозирования, для формирования блока преобразования. Остаточные сигналы преобразуются в единицы преобразования. Тип преобразования определяется режимом прогнозирования и размером единицы преобразования. Типом преобразования является целочисленное преобразование на основе дискретного косинусного преобразования (DCT) или целочисленное преобразование на основе дискретного синусного преобразования (DST). Например, при внешнем преобразовании используются целочисленные преобразования на основе DCT. В режиме внутреннего преобразования, если размер единицы преобразования меньше заданного размера, используются целочисленные преобразования на основе DST, в противном случае, используются целочисленные преобразования на основе DCT.
Узел 104 квантования определяет параметр квантования для квантования блока преобразования. Параметр квантования представляет собой размер шага квантования. Параметр квантования определяется на единицу квантования. Размер единицы квантования представляет собой один из допустимых размеров единицы кодирования. Если размер единицы кодирования равен или больше минимального размера единицы квантования, единица кодирования становится единицей квантования. Множество единиц кодирования может быть включено в минимальную единицу квантования. Размер минимальной единицы квантования определяется на видеокадр, и информация, задающая размер минимальной единицы квантования, включена в набор параметров видеокадра.
Узел 104 квантования формирует предиктор параметра квантования и формирует разностный параметр квантования посредством вычитания предиктора параметра квантования из параметра квантования. Разностный параметр квантования кодируется энтропийно и включается в синтаксис единицы кодирования.
Предиктор параметра квантования формируется посредством использования параметров квантования соседних единиц кодирования и параметра квантования предыдущей единицы кодирования следующим образом.
Левый параметр квантования, верхний параметр квантования и предыдущий параметр квантования последовательно извлекаются в данном порядке. Среднее первых двух доступных параметров квантования, извлеченных в данном порядке, устанавливается в качестве предиктора параметра квантования, когда доступны два или более параметров квантования, и, когда доступен только один параметр квантования, доступный параметр квантования устанавливается в качестве предиктора параметра квантования. Т.е. если доступны левый и верхний параметр квантования, среднее левого и верхнего параметра квантования устанавливается в качестве предиктора параметра квантования. Если доступен только один из левого и верхнего параметра квантования, среднее из доступного параметра квантования и предыдущего параметра квантования устанавливается в качестве предиктора параметра квантования. Если недоступны оба из левого и верхнего параметра квантования, предыдущий параметр квантования устанавливается в качестве предиктора параметра квантования. Среднее округляется.
Узел 104 квантования квантует блок преобразования, используя матрицу квантования и параметр квантования. Квантованный блок преобразования подается на узел 107 обратного квантования и узел 105 сканирования.
Узел 105 сканирования определяет схему сканирования и применяет схему сканирования к квантованному блоку преобразования. Когда используется контекстно-адаптивное двоичное арифметическое кодирование (САВАС) для энтропийного кодирования, схема сканирования определяется следующим образом.
При внутреннем прогнозировании схема сканирования определяется режимом внутреннего прогнозирования и размером единицы преобразования. Размер единицы преобразования, размер блока преобразования и размер квантованного блока преобразования являются одинаковыми. Схему сканирования выбирают из диагонального сканирования, вертикального сканирования и горизонтального сканирования. Квантованные коэффициенты преобразования квантованного блока преобразования разделены на флаги значимости, знаки коэффициента и уровни коэффициента. Схему сканирования применяют к флагам значимости, знакам коэффициента и уровням коэффициента соответственно. Флаг значимости указывает, равен ли нулю соответствующий квантованный коэффициент преобразования. Знак коэффициента указывает знак ненулевого квантованного коэффициента преобразования, и уровень коэффициента указывает абсолютное значение ненулевого квантованного коэффициента преобразования.
Когда размер единицы преобразования равен или меньше первого размера, горизонтальное сканирование выбирается для вертикального режима и вертикальное сканирование выбирается для горизонтального режима, и диагональное сканирование выбирается для других режимов внутреннего прогнозирования. Когда размер единицы преобразования больше первого размера, используется диагональное сканирование. Первым размером является 8×8.
При внешнем прогнозировании используют заданную схему сканирования независимо от размера единицы преобразования. Заданной схемой сканирования является диагональное сканирование, когда САВАС используется для энтропийного кодирования.
Когда размер единицы преобразования больше второго размера, квантованный блок преобразования делят на главный поднабор и множество остальных поднаборов, и определенную схему сканирования применяют к каждому цоднабору. Флаги значимости, знаки коэффициента и уровни коэффициента каждого поднабора сканируются соответственно в соответствии с определенной схемой сканирования. Главный поднабор включает в себя коэффициент постоянного тока (DC-коэффициент) и остальные поднаборы охватывают область, кроме области, охватываемой главным поднабором. Вторым размером является 4×4. Размером поднабора может быть блок 4×4 или может изменяться согласно схеме сканирования. Поднабор содержит 16 коэффициентов преобразования.
Схема сканирования для сканирования поднаборов является такой же, что и схема сканирования для сканирования квантованных коэффициентов преобразования каждого поднабора. Квантованные коэффициенты преобразования каждого поднабора сканируются в обратном направлении. Поднаборы также сканируются в обратном направлении.
Положение последнего ненулевого коэффициента кодируется и передается декодеру. Положение последнего ненулевого коэффициента задает положение последнего ненулевого квантованного коэффициента преобразования в единице преобразования. Флаг ненулевого поднабора устанавливается для каждого поднабора за исключением главного поднабора и последнего поднабора. Последний поднабор охватывает последний ненулевой коэффициент. Флаг ненулевого поднабора указывает, содержит ли поднабор ненулевые коэффициенты.
Узел 107 обратного квантования обратно квантует квантованные коэффициенты преобразования квантованного блока преобразования.
Узел 108 обратного преобразования обратно преобразует обратно квантованный блок преобразования для формирования остаточных сигналов пространственной области.
Сумматор 109 формирует восстановленный блок посредством суммирования остаточного блока и блока прогнозирования.
Узел 110 постобработки выполняет процесс деблокирующей фильтрации для удаления блокирующих артефактов, сформированных в восстановленном видеокадре.
Узел 111 хранения видеокадров принимает постобработанное изображение от узла 110 постобработки и сохраняет изображение в единицах видеокадра. Видеокадром может быть кадр или поле.
Узел 106 энтропийного кодирования энтропийно кодирует информацию об одномерном коэффициенте, принятую от узла 105 сканирования, информацию о внутреннем прогнозировании, принятую от узла 112 внутреннего прогнозирования, информацию о движении, принятую от узла 113 внешнего прогнозирования, и т.д.
Фиг. 2 представляет собой блок-схему устройства 200 декодирования изображения согласно настоящему изобретению.
Устройство 200 декодирования изображения согласно настоящему изобретению включает в себя узел 201 энтропийного декодирования, узел 202 обратного сканирования, узел 203 обратного квантования, узел 204 обратного преобразования, сумматор 205, узел 206 постобработки, узел 207 хранения видеокадров, узел 208 внутреннего прогнозирования и узел 209 внешнего прогнозирования.
Узел 201 энтропийного декодирования извлекает информацию о внутреннем прогнозировании, информацию о внешнем прогнозировании и информацию об одномерном коэффициенте из принимаемого битового потока. Узел 201 энтропийного декодирования передает информацию о внешнем прогнозировании на узел 209 внешнего прогнозирования, информацию о внутреннем прогнозировании - на узел 208 внутреннего прогнозирования, и информацию о коэффициенте - на узел 202 обратного сканирования.
Узел 202 обратного сканирования использует схему обратного сканирования для формирования квантованного блока преобразования. Когда САВАС используется для энтропийного кодирования, схему сканирования определяют следующим образом.
При внутреннем прогнозировании схема обратного сканирования определяется режимом внутреннего прогнозирования и размером единицы преобразования. Схема обратного сканирования выбирается из диагонального сканирования, вертикального сканирования и горизонтального сканирования. Выбранную схему обратного сканирования применяют к флагам значимости, знакам коэффициента и уровням коэффициента соответственно для формирования квантованного блока преобразования.
Когда размер единицы преобразования равен или меньше первого размера, горизонтальное сканирование выбирается для вертикального режима и заданного количества соседних режимов внутреннего прогнозирования вертикального режима, вертикальное сканирование выбирается для горизонтального режима и заданного количества соседних режимов внутреннего прогнозирования горизонтального режима, и диагональное сканирование выбирается для других режимов внутреннего прогнозирования. Когда размер единицы преобразования больше первого размера, используется диагональное сканирование. Когда размер единицы преобразования больше первого размера, диагональное сканирование выбирается для всех режимов внутреннего прогнозирования. Первым размером является 8×8.
Когда размер единицы преобразования больше первого размера, диагональное сканирование выбирается для всех режимов внутреннего прогнозирования.
При внешнем прогнозировании используется диагональное сканирование.
Когда размер единицы преобразования больше второго размера, флаги значимости, знаки коэффициента и уровни коэффициента обратно сканируются в единице поднабора, используя определенную схему обратного сканирования для формирования поднаборов, и выполняют обратное сканирование поднаборов для формирования квантованного блока преобразования. Вторым размером является 4×4. Размер поднабора может представлять собой блок 4×4 или неквадратный блок, определенный схемой сканирования. Неквадратный блок включает в себя 16 коэффициентов преобразования. Например, размер поднабора составляет 8×2 для горизонтального сканирования, 2×8 - для вертикального сканирования, и 4×4 - для диагонального сканирования.
Схема обратного сканирования, используемая для формирования каждого поднабора, является такой же, что и схема обратного сканирования, используемая для формирования квантованного блока преобразования. Флаги значимости, знаки коэффициента и уровни коэффициента обратно сканируются в обратном направлении. Поднаборы также обратно сканируются в обратном направлении.
Положение последнего ненулевого коэффициента и флаги ненулевого поднабора принимаются от, кодера. Количество кодированных поднаборов определяется в соответствии с положением последнего ненулевого коэффициента и схемой обратного сканирования. Флаги ненулевого поднабора используются для выбора поднаборов, подлежащих формированию. Главный поднабор и последний поднабор формируются с использованием схемы обратного сканирования.
Узел 203 обратного квантования принимает разностный параметр квантования от узла 201 энтропийного декодирования и формирует предиктор параметра квантования. Предиктор параметра квантования формируется посредством такой же операции узла 104 квантования на фиг. 1. Затем узел 203 обратного квантования суммирует разностный параметр квантования и предиктор параметра квантования для формирования параметра квантования текущей единицы кодирования. Если текущая единица кодирования равна или больше минимальной единицы квантования, и разностный параметр квантования для текущей единицы кодирования не принимается от кодера, разностный параметр квантования устанавливается на 0.
Узел 203 обратного квантования обратно квантует квантованный блок преобразования.
Узел 204 обратного преобразования обратно преобразует обратно квантованный блок для восстановления остаточного блока. Тип обратного преобразования адаптивно определяется в соответствии с режимом прогнозирования и размером единицы преобразования. Типом обратного преобразования является целочисленное преобразование на основе DCT или целочисленное преобразование на основе DST. Например, при внешнем прогнозировании используются целочисленные преобразования на основе DCT. В режиме внутреннего прогнозирования, если размер единицы преобразования меньше заданного размера, используются целочисленные преобразования на основе DST, в противном случае используются целочисленные преобразования на основе DCT.
Узел 208 внутреннего прогнозирования восстанавливает режим внутреннего прогнозирования текущей единицы прогнозирования, используя принятую информацию о внутреннем прогнозировании, и формирует блок прогнозирования в соответствии с восстановленным режимом внутреннего прогнозирования.
Узел 209 внешнего прогнозирования восстанавливает информацию о движении текущей единицы прогнозирования, используя принятую информацию о внешнем прогнозировании, и формирует блок прогнозирования, используя информацию о движении.
Узел 206 постобработки работает так же, как и узел 110 постобработки на фиг. 1.
Узел 207 хранения видеокадров принимает постобработанное изображение от узла 206 постобработки и сохраняет изображение в единицах видеокадра. Видеокадром может быть кадр или поле.
Сумматор 205 суммирует восстановленный остаточный блок и блок прогнозирования для формирования восстановленного блока.
Фиг. 3 представляет собой блок-схему, иллюстрирующую процедуру формирования восстановленного блока при внутреннем прогнозировании согласно настоящему изобретению.
Сначала получают режим внутреннего прогнозирования текущей единицы прогнозирования (S1100).
Фиг. 4 представляет собой блок-схему, иллюстрирующую процедуру получения режима внутреннего прогнозирования текущей единицы прогнозирования согласно настоящему изобретению.
Параметры внутреннего прогнозирования текущей единицы прогнозирования извлекаются из принятого битового потока (S1110).
Параметрами внутреннего прогнозирования являются индикатор группы режимов и индекс режима прогнозирования. Индикатор группы режимов представляет собой флаг, указывающий, принадлежит ли режим внутреннего прогнозирования текущей единицы прогнозирования группе наиболее вероятных режимов (МРМ-группе). Если флаг равен 1, единица внутреннего прогнозирования текущей единицы прогнозирования принадлежит МРМ-группе. Если флаг равен 0, единица внутреннего прогнозирования текущей единицы прогнозирования принадлежит группе остальных режимов. Группа остальных режимов включает в себя все режимы внутреннего прогнозирования за исключением режимов внутреннего прогнозирования МРМ-группы. Индекс режима прогнозирования задает режим внутреннего прогнозирования текущей единицы прогнозирования в группе, определяемой индикатором группы режимов.
МРМ-группа составляется с использованием режимов внутреннего прогнозирования соседних единиц прогнозирования (S1120). Режимы внутреннего прогнозирования МРМ-группы адаптивно определяются левым режимом внутреннего прогнозирования и верхним режимом внутреннего прогнозирования. Левым режимом внутреннего прогнозирования является режим внутреннего прогнозирования левой соседней единицы прогнозирования, и верхним режимом внутреннего прогнозирования является режим внутреннего прогнозирования верхней соседней единицы прогнозирования. МРМ-группа состоит из трех режимов внутреннего прогнозирования.
Если левая или верхняя соседняя единица прогнозирования не существуют, режим внутреннего прогнозирования левой или верхней соседней единицы устанавливается как недоступный. Например, если текущая единица прогнозирования располагается на левой или верхней границе видеокадра, не существует левая или верхняя соседняя единица прогнозирования. Если левая или верхняя соседняя единица располагается в другой серии последовательных макроблоков или в другой области кадра, режим внутреннего прогнозирования левой или верхней соседней единицы устанавливается недоступным. Если левая или верхняя соседняя единица кодируется внешне, режим внутреннего прогнозирования левой или верхней соседней единицы устанавливается недоступным. Если верхняя соседняя единица располагается в другой LCU, режим внутреннего прогнозирования левой или верхней соседней единицы устанавливается недоступным.
Фиг. 5 представляет собой принципиальную схему, иллюстрирующую режимы внутреннего прогнозирования согласно настоящему изобретению. Как показано на фиг. 5, количество режимов внутреннего прогнозирования равно 35. Режим постоянного тока (DC-режим) и плоский режим представляют собой ненаправленные режимы внутреннего прогнозирования и другими являются направленные режимы внутреннего прогнозирования.
Когда оба из левого режима внутреннего прогнозирования и верхнего режима внутреннего прогнозирования являются доступными и отличаются друг от друга, левый режим внутреннего прогнозирования и верхний режим внутреннего прогнозирования включаются в МРМ-группу, и один дополнительный режим внутреннего прогнозирования добавляется в МРМ-группу. Индекс 0 назначается одному режиму внутреннего прогнозирования с малым номером режима, и индекс 1 назначается другому. Или индекс 0 назначается левому режиму внутреннего прогнозирования, и индекс 1 назначается верхнему режиму внутреннего прогнозирования. Добавленный режим внутреннего прогнозирования определяется левым и верхним режимами внутреннего прогнозирования следующим образом.
Если один из левого и верхнего режимов внутреннего прогнозирования представляет собой ненаправленный режим, и другой представляет собой направленный режим, другой ненаправленный режим добавляется в МРМ-группу. Например, если один из левого и верхнего режимов внутреннего прогнозирования представляет собой DC-режим, плоский режим добавляется в МРМ-группу. Если один из левого и верхнего режимов внутреннего прогнозирования представляет собой плоский режим, DC-режим добавляется в МРМ-группу. Если оба из левого и верхнего режимов внутреннего прогнозирования являются ненаправленными режимами, вертикальный режим добавляется в МРМ-группу. Если оба из левого и верхнего режимов внутреннего прогнозирования являются направленными режимами, DC-режим или плоский режим добавляется в МРМ-группу.
Когда доступен только один из левого режима внутреннего прогнозирования и верхнего режима внутреннего прогнозирования, доступный режим внутреннего прогнозирования включается в МРМ-группу, и два дополнительных режима внутреннего прогнозирования добавляются в МРМ-группу. Добавленные два режимы внутреннего прогнозирования определяются доступными режимами внутреннего прогнозирования следующим образом.
Если доступным режимом внутреннего прогнозирования является ненаправленный режим, другой ненаправленный режим и вертикальный режим добавляются в МРМ-группу. Например, если доступным режимом внутреннего прогнозирования является DC-режим, плоский режим и вертикальный режим добавляются в МРМ-группу. Если доступным режимом внутреннего прогнозирования является плоский режим, DC-режим и вертикальный режим добавляются в МРМ-группу. Если доступным режимом внутреннего прогнозирования является направленный режим, два ненаправленных режима (DC-режим и плоский режим) добавляются в МРМ-группу.
Когда оба из левого режима внутреннего прогнозирования и верхнего режима внутреннего прогнозирования являются доступными и являются одинаковыми между собой, доступный режим внутреннего прогнозирования включается в МРМ-группу, и два дополнительных режима внутреннего прогнозирования добавляются в МРМ-группу. Добавленные два режима внутреннего прогнозирования определяются доступными режимами внутреннего прогнозирования следующим образом.
Если доступным режимом внутреннего прогнозирования является направленный режим, два соседних направленных режима добавляются в МРМ-группу. Например, если доступным режимом внутреннего прогнозирования является режим 23, левый соседний режим (режим 1) и правый соседний режим (режим 13) добавляются в МРМ-группу. Если доступным режимом внутреннего прогнозирования является режим 30, два соседних режима (режим 2 и режим 16) добавляются в МРМ-группу. Если доступным режимом внутреннего прогнозирования является ненаправленный режим, другой ненаправленный режим и вертикальный режим добавляются в МРМ-группу. Например, если доступным режимом внутреннего прогнозирования является DC-режим, плоский режим и вертикальный режим добавляются в МРМ-группу.
Когда оба из левого режима внутреннего прогнозирования и верхнего режима внутреннего прогнозирования являются недоступными, три дополнительных режима внутреннего прогнозирования добавляются в МРМ-группу. Тремя режимами внутреннего прогнозирования являются DC-режим, плоский режим и вертикальный режим. Индексы 0, 1 и 2 назначаются трем режимам внутреннего прогнозирования в порядке: DC-режим, плоский режим и вертикальный режим, или в порядке: плоский режим, DC-режим и вертикальный режим.
Определяется, указывает ли индикатор группы режимов МРМ-группу (S1130).
Если индикатор группы режимов указывает МРМ-группу, внутреннее прогнозирование МРМ-группы, заданное индексом режима прогнозирования, устанавливается в качестве режима внутреннего прогнозирования текущей единицы прогнозирования (S1140).
Если индикатор группы режимов не указывает МРМ-группу, три внутренних прогнозирования МРМ-группы переупорядочиваются в порядке номеров режима (S1150). Среди трех режимов внутреннего прогнозирования МРМ-группы, режим внутреннего прогнозирования с наименьшим номером режима устанавливается на первый возможный вариант, режим внутреннего прогнозирования со средним номером режима устанавливается на второй возможный вариант, и режим внутреннего прогнозирования с наибольшим номером режима устанавливается на третий возможный вариант.
Индекс режима прогнозирования сравнивается с первым возможным вариантом (S1160). Если индекс режима прогнозирования равен или больше первого возможного варианта МРМ-группы, значение индекса режима прогнозирования увеличивается на единицу. В противном случае, значение индекса режима прогнозирования сохраняется.
Индекс режима прогнозирования сравнивается со вторым возможным вариантом (S1170). Если индекс режима прогнозирования равен или больше второго возможного варианта МРМ-группы, значение индекса режима прогнозирования увеличивается на единицу. В противном случае, значение индекса режима прогнозирования сохраняется.
Индекс режима прогнозирования сравнивается с третьим возможным вариантом (S1180). Если индекс режима прогнозирования равен или больше третьего возможного варианта МРМ-группы, значение индекса режима прогнозирования увеличивается на единицу. В противном случае, значение индекса режима прогнозирования сохраняется.
Значение окончательного индекса режима прогнозирования устанавливается в качестве номера режима для режима внутреннего прогнозирования текущей единицы прогнозирования (S1190).
Затем определяется размер текущего блока для формирования блока прогнозирования (S1200).
Размер текущего блока равен размеру единицы преобразования. Размер текущего блока определяется с использованием размера единицы прогнозирования и информации о размере преобразования. Блок прогнозирования и остаточный блок текущего блока имеют одинаковый размер с единицей преобразования. Информация о размере преобразования включает в себя один или более split_tu_flags, используемых для указания структуры разделения.
Если размер единицы преобразования равен размеру текущей единицы прогнозирования, текущая единица прогнозирования устанавливается в качестве текущего блока.
Если размер единицы преобразования меньше размера текущей единицы прогнозирования, единица прогнозирования состоит из множества подблоков. Каждый подблок устанавливается в качестве текущего блока. В данном случае, этапы S1300, S1400 и S1500 выполняются для первого подблока единицы прогнозирования. Затем этапы S1300, S1400 и S1500 выполняются неоднократно для оставшихся подблоков единицы прогнозирования в порядке декодирования. Используется одинаковый режим внутреннего прогнозирования для всех подблоков в единице прогнозирования.
Затем формируется блок прогнозирования в соответствии с режимом внутреннего прогнозирования (S1300).
Фиг. 6 представляет собой блок-схему, иллюстрирующую процедуру формирования блока прогнозирования согласно настоящему изобретению.
Определяется, являются ли доступными все опорные пиксели текущего блока, и опорные пиксели формируются, если один или более опорных пикселей являются недоступными (S1210). Текущим блоком является текущая единица прогнозирования или подблок текущей единицы прогнозирования. Размером текущего блока является размер единицы преобразования.
Фиг. 7 представляет собой принципиальную схему, иллюстрирующую положения опорных пикселей текущего блока согласно настоящему изобретению. Как показано на фиг. 7, опорные пиксели текущих блоков состоят из верхних опорных пикселей, расположенных в (х=0, …, 2N-1, у=-1), левых опорных пикселей, расположенных в (х=-1, у=0, …, 2М-1), и углового пикселя, расположенного в (х=-1, у=-1). N представляет собой ширину текущего блока, и М представляет собой высоту текущего блока.
Если один или более опорных пикселей являются недоступными, один или более опорных пикселей формируется следующим образом.
L-1
Если все опорные пиксели являются недоступными, постоянное значение подставляется в значения всех опорных пикселей. Постоянным значением является 2, и значение L равно количеству битов, используемых для представления значения пикселя яркости.
Если доступные опорные пиксели располагаются только на одной стороне недоступного опорного пикселя, значение опорного пикселя, ближайшее к недоступному пикселю, подставляется в недоступный опорный пиксель.
Если доступные опорные пиксели располагаются по обеим сторонам недоступного опорного пикселя, значение опорного пикселя, ближайшее к недоступному пикселю в заданном направлении, подставляется для каждого недоступного опорного пикселя.
Опорные пиксели адаптивно фильтруются на основе режима внутреннего прогнозирования и размера текущего блока (S1220). Размер текущего блока представляет собой размер единицы преобразования.
В DC-режиме опорные пиксели не фильтруются. В вертикальном режиме и горизонтальном режиме опорные пиксели не фильтруются. В направленных режимах, исключая вертикальный и горизонтальный режимы, опорные пиксели адаптивно фильтруются в соответствии с размером текущего блока.
Если размер текущего блока равен 4×4, опорные пиксели не фильтруются во всех режимах внутреннего прогнозирования. Для размера 8×8, 16×16 и 32×32 номер режима внутреннего прогнозирования, где опорные пиксели фильтруются, увеличивается, когда становится больше размер текущего блока.
Блок прогнозирования текущего блока формируется с использованием опорных пикселей в соответствии с восстановленным режимом внутреннего прогнозирования (S1230).
В DC-режиме пиксели прогнозирования формируются посредством копирования среднего значения N опорных пикселей, расположенных в (х=0, … N-1, у=-1), и М опорных пикселей, расположенных (х=-1, у-0, … М-1). Пиксель прогнозирования, рядом с опорным пикселем, фильтруется одним или двумя соседними опорными пикселями.
В вертикальном режиме пиксели прогнозирования формируются посредством копирования значения вертикального соответствующего опорного пикселя. Пиксели прогнозирования, соседние с левым опорным пикселем, фильтруются с использованием углового пикселя и левого соседнего пикселя.
В горизонтальном режиме пиксели прогнозирования формируются посредством копирования значения горизонтального соответствующего опорного пикселя. Пиксели прогнозирования, рядом с верхним опорным пикселем, фильтруются с использованием углового пикселя и верхнего соседнего пикселя.
Затем формируется остаточный блок в соответствии с режимом внутреннего прогнозирования (S1400).
Фиг. 8 представляет собой блок-схему, иллюстрирующую процедуру формирования остаточного блока согласно настоящему изобретению.
Кодированные остаточные сигналы энтропийно декодируются для формирования информации о квантованных коэффициентах (S1410). Когда САВАС используется для энтропийного кодирования, информация о коэффициентах включает в себя флаги значимости, знаки коэффициента и уровни коэффициента. Флаг значимости указывает, равен ли нулю соответствующий квантованный коэффициент преобразования. Знак коэффициента указывает знак ненулевого квантованного коэффициента преобразования, и уровень коэффициента указывает абсолютное значение ненулевого квантованного коэффициента преобразования.
Определяют схему обратного сканирования, и квантованный блок преобразования формируют в соответствии со схемой обратного сканирования (S1420). Этап выполняется узлом 220 обратного сканирования на фиг. 2. Поэтому, такая же операция узла 220 обратного сканирования выполняется для определения схемы обратного сканирования и формирования квантованного блока преобразования.
Квантованный блок преобразования обратно квантуется с использованием параметра квантования (S1430).
Фиг. 9 представляет собой блок-схему, иллюстрирующую процедуру получения параметра квантования согласно настоящему изобретению.
Получается размер минимальной единицы квантования (S1431). Размер единицы минимального квантования равен размеру LCU или размеру подблока LCU. Минимальный размер единицы квантования определяется на видеокадр. Параметр (cu_qp_delta_enabled_info), задающий глубину минимальной единицы квантования, извлекается из набора параметров видеокадра (PPS). Размер минимальной единицы квантования получается по следующему уравнению:
Log2(MinQUSize)=Log2(MaxCUSize)-cu_qp_delta_enabled_info
MinQUSize представляет собой размер минимальной единицы квантования. MaxCUSize представляет собой размер LCU. Только один параметр используется для получения размера минимальной единицы квантования.
Восстанавливается разностный параметр квантования (dQP) текущей единицы кодирования (S1432). dQP восстанавливается на единицу квантования. Например, если размер текущей единицы кодирования равен или больше минимальной единицы квантования, dQP восстанавливается для текущей единицы кодирования. Если текущая единица кодирования не содержит кодированный dQP, dQP устанавливается на ноль. Если единица квантования включает в себя многочисленные единицы кодирования, первая единица кодирования, содержащая dQP, и последующая единица кодирования в единице квантования имеют один и тот же dQP.
Кодированный dQP арифметически декодируется для формирования строки бинов, и строка бинов преобразуется в dQP. Строка бинов содержит бин для указания, равен ли нулю dQP. Когда dQP не равен нулю, строка бинов дополнительно содержит бин для знака dQP и строку бинов для указания абсолютного значения dQP.
Формируется предиктор параметра квантования текущей единицы кодирования (S1433). Предиктор параметра квантования формируется с использованием аналогичной операции узла 230 обратного квантования на фиг. 2.
Если минимальная единица квантования включает в себя множество единиц кодирования, формируется предиктор параметра квантования первой единицы кодирования в порядке декодирования, и сформированный предиктор параметра квантования используется для всех единиц кодирования в минимальной единице квантования.
Параметр квантования формируется с использованием dQP и предиктора параметра квантования (S1434).
В это же время также восстанавливаются определяемые пользователем матрицы квантования. Набор определяемых пользователем матриц квантования принимается от устройства кодирования посредством набора параметров последовательности (SPS) или PPS. Определяемая пользователем матрица квантования восстанавливается с использованием обратной дифференциальной импульсно-кодовой модуляции (DPCM). Диагональное сканирование используется для DPCM. Когда размер определяемой пользователем матрицы квантования больше 8×8, определяемая пользователем матрица квантования восстанавливается посредством повышающей дискретизации коэффициентов принятой матрицы квантования размером 8×8. DC-коэффициент определяемой пользователем матрицы квантования извлекаются из SPS или PPS. Например, если размер определяемой пользователем матрицы квантования составляет 16×16, выполняется повышающая дискретизация коэффициентов принятой матрицы квантования размером 8×8, используя повышающую дискретизацию 1:4.
Остаточный блок формируется посредством обратного преобразования обратно квантованного блока (S1440). Тип обратного преобразования адаптивно определяется в соответствии с режимом прогнозирования и размером единицы преобразования. Тип обратного преобразования представляет собой целочисленное преобразование на основе DCT или целочисленное преобразование на основе DST. В режиме внутреннего прогнозирования, если размер единицы преобразования меньше заданного размера, используются целочисленные преобразования на основе DST, в противном случае, используются целочисленные преобразования на основе DCT.
Затем формируется восстановленный блок посредством суммирования блока прогнозирования и остаточного блока (S1500).
Фиг. 10 представляет собой блок-схему, иллюстрирующую устройство 300 формирования восстановленного блока согласно настоящему изобретению.
Как показано на фиг. 10, устройство 300 согласно настоящему изобретению включает в себя узел 310 выведения режима внутреннего прогнозирования, узел 320 определения размера прогнозирования, узел 330 формирования блока прогнозирования, узел 340 формирования остаточного блока и узел 350 формирования восстановленного блока.
Узел 310 выведения режима внутреннего прогнозирования получает режим внутреннего прогнозирования текущей единицы прогнозирования. Узел 310 выведения режима внутреннего прогнозирования выполняет аналогичную процедуру на фиг. 4 для выведения режима внутреннего прогнозирования.
Узел 320 определения размера прогнозирования определяет размер текущего блока, используя размер текущей единицы прогнозирования и информацию о размере преобразования. Размер текущего блока равен размеру единицы преобразования. Блок прогнозирования и остаточный блок текущего блока имеют тот же размер, что и единица преобразования. Текущая единица прогнозирования или подблок текущей единицы прогнозирования устанавливается в качестве текущего блока, основываясь на информации о размере преобразования.
Узел 330 формирования блока прогнозирования формирует блок прогнозирования текущего блока, используя режим внутреннего прогнозирования. Узел 330 формирования блока прогнозирования включает в себя генератор 331 опорных пикселей, фильтр 332 опорных пикселей и генератор 333 блока прогнозирования.
L-1
Генератор 331 опорных пикселей формирует опорные пиксели, если являются недоступными один или более опорных пикселей текущего блока. Если все опорные пиксели являются недоступными, значение 2 подставляется в значения всех опорных пикселей. Значение L представляет собой количество битов, используемых для представления значения пикселя яркости. Если доступные опорные пиксели располагаются только по одной стороне недоступного опорного пикселя, значение опорного пикселя, ближайшего к недоступному пикселю, подставляется в недоступный опорный пиксель. Если доступные опорные пиксели располагаются по обеим сторонам недоступного опорного пикселя, значение опорного пикселя, ближайшего к недоступному пикселю в заданном направлении, подставляется в каждый недоступный опорный пиксель.
Фильтр 332 опорных пикселей адаптивно фильтрует опорные пиксели, основываясь на режиме внутреннего прогнозирования и размере единицы преобразования.
В DC-режиме опорные пиксели не фильтруются. В вертикальном режиме и горизонтальном режиме опорные пиксели не фильтруются. В направленных режимах за исключением вертикального и горизонтального режимов, опорные пиксели адаптивно фильтруются в соответствии с размером текущего блока.
Если размер текущего блока равен 4×4, опорные пиксели не фильтруются во всех режимах внутреннего прогнозирования. Для размера 8×8, 16×16 и 32×32 номер режима внутреннего прогнозирования, где опорные пиксели фильтруются, увеличивается, когда размер текущего блока становится больше. Например, опорные пиксели не фильтруются в вертикальном режиме и заданном номере соседнего режима внутреннего прогнозирования вертикального режима. Опорные пиксели также не фильтруются в горизонтальном режиме и заданном номере соседнего режима внутреннего прогнозирования горизонтального режима. Заданным номером является один из 0-7 и уменьшается, когда увеличивается размер текущего блока.
Генератор 333 блока прогнозирования формирует блок прогнозирования текущего блока, используя опорные пиксели, в соответствии с режимом внутреннего прогнозирования.
В DC-режиме пиксели прогнозирования формируются посредством копирования среднего значения N опорных пикселей, расположенных в (х=0, … N-1, у=-1), и М опорных пикселей, расположенных в (х=-1, у=0, … М-1). Пиксель прогнозирования, рядом с опорным пикселем, фильтруется одним или двумя соседними опорными пикселями.
В вертикальном режиме пиксели прогнозирования формируются посредством копирования значения вертикального опорного пикселя. Пиксели прогнозирования, рядом с левым опорным пикселем, фильтруются с использованием углового опорного пикселя и левого соседнего опорного пикселя.
В горизонтальном режиме пиксели прогнозирования формируются посредством копирования значения горизонтального опорного пикселя. Пиксели прогнозирования, рядом с верхним опорным пикселем, фильтруются с использованием углового опорного пикселя и верхнего соседнего опорного пикселя.
Узел 340 формирования остаточного блока формирует остаточный блок текущего блока, используя режим внутреннего прогнозирования. Эта же процедура на фиг. 8 выполняется узлом 340 формирования остаточного блока.
Узел 350 формирования восстановленного блока суммирует блок прогнозирования и остаточный блок для формирования восстановленного блока текущего блока.
Хотя изобретение было показано и описано со ссылкой на его некоторые примерные варианты осуществления, для специалиста в данной области техники понятно, что в нем могут быть сделаны различные изменения в форме и деталях без отступления от сущности и объема изобретения, определенного в прилагаемой формуле изобретения.