ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится к способу внутреннего предсказания в видео кодере и видео декодере, и более подробно, к способу для выведения значения конкретной граничной выборки предсказанного блока текущего блока, и устройству, использующему этот способ.
[0002] УРОВЕНЬ ТЕХНИКИ
[0003] В последние годы требования к высококачественному видео с высокой разрешающей способностью увеличились в различных областях применений. Однако, когда видео имеет более высокое разрешение и более высокое качество, объем данных в отношении этого видео все больше увеличивается.
[0004] Когда высококачественное видео с высокой разрешающей способностью с большим количеством данных передается, используя среду передачи, такую как существующие проводные или беспроводные широкополосные линии, или сохраняется в существующих запоминающих носителях, стоимость передачи и стоимость его хранения увеличиваются. Соответственно, чтобы эффективно передать, сохранить и воспроизвести высококачественное видео с высокой разрешающей способностью, высокоэффективные способы сжатия видео могут быть использованы.
[0005] Чтобы повысить эффективность сжатия видео, могут использоваться способ внешнего предсказания и способ внутреннего предсказания.
[0006] При внешнем предсказании пиксельные значения текущей картинки предсказывают из временно предыдущих и/или последующих картинок. При внутреннем предсказании пиксельные значения текущей картинки предсказывают, используя межпиксельные отношения в одной и той же картинке. При внутреннем предсказании пиксельные значения текущей картинки предсказывают, используя пиксельную информацию текущей картинки.
[0007] В дополнение к внешнему предсказанию и внутреннему предсказанию и т.п. может использоваться предсказание веса для того, чтобы предотвратить ухудшение качества из-за изменений освещения или подобного, энтропийное кодирование распределения короткого кода на символ, имеющий высокую частоту появления, и назначения длинного кода символу, имеющему низкую частоту появления.
[0008] СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Техническая проблема
[0009] Задача изобретения состоит в том, чтобы обеспечить эффективный способ сжатия видео и устройство, использующее этот способ.
[0010] Другая задача изобретения состоит в том, чтобы обеспечить способ внутреннего предсказания, который может повысить эффективность предсказания и устройство, использующее этот способ.
[0011] Другая задача изобретения состоит в том, чтобы обеспечить способ для выведения конкретной граничной выборки предсказанного блока текущего блока и устройство, использующее этот способ.
[0012] Решение проблемы
[0013] Согласно аспекту изобретения, предоставлен способ внутреннего предсказания. Способ внутреннего предсказания включает в себя этапы: выведение режима предсказания текущего блока; и конструирование предсказанного блока текущего блока на основе режима предсказания. Когда режимом предсказания является режим внутреннего направленного предсказания (режим предсказания Intra_Angular), значение граничной выборки, не расположенной в направлении предсказания режима внутреннего направленного предсказания (режима предсказания Intra_Angular), из левой граничной выборки и верхней граничной выборки предсказанного блока, выводится на основе опорной выборки, расположенной в направлении предсказания, и опорной выборки, смежной с граничной выборкой.
[0014] Когда режимом внутреннего направленного предсказания (режим предсказания Intra_Angular) является режим вертикального предсказания, значение левой граничной выборки может быть выведено на основе верхней опорной выборки левой граничной выборки и опорной выборки, смежной с левой граничной выборкой. Значение предсказанной выборки, отличной от левой граничной выборки, может быть выведено, чтобы быть значением верхней опорной выборки предсказанной выборки.
[0015] Когда режим внутреннего направленного предсказания (режим предсказания Intra_Angular) является режимом вертикального предсказания, значение левой граничной выборки может быть выведено на основе верхней опорной выборки левой граничной выборки, опорной выборки, смежной с левой граничной выборкой, и опорной выборки, граничащей с левым-верхним краем текущего блока.
[0016] Когда режим внутреннего направленного предсказания (режим предсказания Intra_Angular) является горизонтальным режимом предсказания, значение верхней граничной выборки может быть выведено на основе левой опорной выборки верхней граничной выборки и опорной выборки, смежной с верхней граничной выборкой. Значение предсказанной выборки, отличной от верхней граничной выборки, может быть выведено, чтобы быть значением левой опорной выборки предсказанной выборки.
[0017] Когда режим внутреннего направленного предсказания (режим предсказания Intra_Angular) является горизонтальным режимом предсказания, значение верхней граничной выборки может быть выведено на основе левой опорной выборки верхней граничной выборки, опорной выборки, смежной с верхней граничной выборкой, и опорной выборки, граничащей с левым-верхним краем текущего блока.
[0018] Когда направление предсказания является правым-верхним направлением, значение левой граничной выборки может быть выведено на основе опорной выборки, расположенной в этом направлении предсказания, и опорной выборки, смежной с левой граничной выборкой.
[0019] Когда направление предсказания является левым-нижним направлением, значение верхней граничной выборки может быть выведено на основе опорной выборки, расположенной в этом направлении предсказания, и опорной выборки, смежной с верхней граничной выборкой.
[0020] Согласно другому аспекту изобретения, предоставлен видео кодер. Видео кодер включает в себя: модуль предсказания, который конструирует предсказанный блок текущего блока на основе режима предсказания текущего блока; и модуль энтропийного кодирования, который кодирует информацию относительно предсказанного блока. Когда режимом предсказания является режим внутреннего направленного предсказания (режим предсказания Intra_Angular), модуль предсказания выводит значение граничной выборки, не расположенной в направлении предсказания режима внутреннего направленного предсказания (режима предсказания Intra_Angular), из левой граничной выборки и верхней граничной выборки предсказанного блока на основе опорной выборки, расположенной в направлении предсказания, и опорной выборки, смежной с граничной выборкой.
[0021] Согласно еще одному аспекту изобретения, предоставлен видео декодер. Видео декодер включает в себя: модуль энтропийного декодирования, который энтропийно декодирует информацию, принятую из кодера; и модуль предсказания, который конструирует предсказанный блок текущего блока на основе энтропийно декодированной информации. Когда режимом предсказания текущего блока является режим внутреннего направленного предсказания (режим предсказания Intra_Angular), модуль предсказания выводит значение граничной выборки, не расположенной в направлении предсказания режима внутреннего направленного предсказания (режим предсказания Intra_Angular), из левой граничной выборки и верхней граничной выборки предсказанного блока на основе опорной выборки, расположенной в направлении предсказания, и опорной выборки, смежной с этой граничной выборкой.
[0022] Когда режим внутреннего направленного предсказания (режим предсказания Intra_Angular) является режимом вертикального предсказания, модуль предсказания может вывести значение левой граничной выборки на основе верхней опорной выборки левой граничной выборки и опорной выборки, смежной с левой граничной выборкой.
[0023] Когда режим внутреннего направленного предсказания (режим предсказания Intra_Angular) является режимом вертикального предсказания, модуль предсказания может вывести значение левой граничной выборки на основе верхней опорной выборки левой граничной выборки, опорной выборки, смежной с левой граничной выборкой, и опорной выборки, граничащей с левым-верхним краем текущего блока.
[0024] Когда режим внутреннего направленного предсказания (режим предсказания Intra_Angular) является горизонтальным режимом предсказания, модуль предсказания может вывести значение верхней граничной выборки на основе левой опорной выборки верхней граничной выборки и опорной выборки, смежной с верхней граничной выборкой.
[0025] Когда режим внутреннего направленного предсказания (режим предсказания Intra_Angular) является горизонтальным режимом предсказания, модуль предсказания может вывести значение верхней граничной выборки на основе левой опорной выборки верхней граничной выборки, опорной выборки, смежной с верхней граничной выборкой, и опорной выборки, граничащей с левым-верхним краем текущего блока.
[0026] Выгодные результаты
[0027] Согласно изобретению возможно повысить эффективность внутреннего предсказания и улучшить производительность сжатия видео.
[0028] Согласно изобретению возможно повысить точность значения предсказанной выборки, расположенной смежной к опорной выборке.
[0029] КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0030] ФИГ. 1 является блок-схемой, схематично иллюстрирующей видео кодер согласно варианту осуществления изобретения.
[0031] ФИГ. 2 является блок-схемой, схематично иллюстрирующей видео декодер согласно варианту осуществления изобретения.
[0032] ФИГ. 3 является последовательностью операций, схематично иллюстрирующей способ внутреннего предсказания в видео декодере.
[0033] ФИГ. 4 является диаграммой, иллюстрирующей направления предсказания в режиме внутреннего предсказания.
[0034] ФИГ. 5 является диаграммой, иллюстрирующей пример, в котором текущий блок закодирован в режиме предсказания Intra_DC.
[0035] ФИГ. 6 является диаграммой, иллюстрирующей пример, в котором направление предсказания является вертикальным в режиме внутреннего предсказания согласно варианту осуществления изобретения.
[0036] ФИГ. 7 является диаграммой, иллюстрирующей пример, в котором направление предсказания является горизонтальным в режиме внутреннего предсказания согласно варианту осуществления изобретения.
[0037] ФИГ. 8 является диаграммой, иллюстрирующей пример, в котором режимы внутреннего предсказания классифицированы в зависимости от направлений предсказания.
[0038] ФИГ. 9 является диаграммой, иллюстрирующей пример, в котором направление предсказания является правым-верхним направлением в режиме внутреннего предсказания согласно варианту осуществления изобретения.
[0039] ФИГ. 10 является диаграммой, иллюстрирующей пример, в котором направление предсказания является левым-нижним направлением в режиме внутреннего предсказания согласно варианту осуществления изобретения.
[0040] ФИГ. 11 является диаграммой, иллюстрирующей пример, в котором направление предсказания является вертикальным в режиме внутреннего предсказания согласно другому варианту осуществления изобретения.
[0041] ФИГ. 12 является диаграммой, иллюстрирующей пример, в котором направление предсказания является горизонтальным в режиме внутреннего предсказания согласно другому варианту осуществления изобретения.
[0042] ФИГ. 13 является диаграммой, схематично иллюстрирующей операции кодера в системе согласно изобретению.
[0043] ФИГ. 14 является диаграммой, схематично иллюстрирующей операции декодера в системе согласно изобретению.
[0044] ОПИСАНИЕ ПРИМЕРНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0045] Изобретение может иметь различные варианты осуществления, и конкретные варианты осуществления его описаны ниже подробно со ссылками на сопроводительные чертежи. Однако, изобретение не ограничено этими конкретными вариантами осуществления и может быть изменено в различных формах, не отступая от технической области изобретения.
[0046] Термины, используемые в ниже приведенном описании, используются, чтобы просто описать конкретные варианты осуществления, но не предназначены для того, чтобы ограничить технический объем изобретения. Выражение единственного числа включает в себя выражение множественного числа, пока явным образом не будет указано иное.
[0047] С другой стороны, элементы на чертежах, описанные в изобретении, независимо изображены с целью удобства для объяснения различных конкретных функций в видео кодере/декодере, и это не означает, что соответствующие элементы воплощены независимым аппаратным обеспечением или независимым программным обеспечением. Например, два или более из элементов могут быть объединены, чтобы сформировать единственный элемент, или один элемент может быть разделен на множественные элементы. Варианты осуществления, в которых элементы объединены и/или разделены, принадлежат объему изобретения, не отступая от концепции изобретения.
[0048] В дальнейшем примерные варианты осуществления изобретения описаны подробно со ссылками на сопроводительные чертежи. Аналогичные элементы на чертежах обозначаются ссылочными позициями и не будут повторно описаны.
[0049] ФИГ. 1 является блок-схемой, схематично иллюстрирующей видео кодер согласно варианту осуществления изобретения. Со ссылками на фиг. 1, видео кодер 100 включает в себя модуль 105 разделения картинки, модуль 110 предсказания, модуль 115 преобразования, модуль 120 квантования, модуль 125 перекомпоновки, модуль 130 энтропийного кодирования, модуль 135 деквантования, модуль 140 обратного преобразования, фильтрующий модуль 145 и память 150.
[0050] Модуль 105 разделения картинки может разделить введенную картинку на одну или более единиц обработки. Здесь, единица обработки может быть блоком предсказания ("PU"), блоком преобразования ("TU"), или блоком кодирования ("CU").
[0051] Модуль 110 предсказания включает в себя модуль внешнего предсказания, который выполняет процесс внешнего предсказания, и модуль внутреннего предсказания, который выполняет процесс внутреннего предсказания. Модуль 110 предсказания выполняет процесс предсказания в отношении единиц обработки картинки, разделенной модулем 105 разделения картинки, чтобы сконструировать предсказанный блок. Здесь, единица обработки картинки может быть CU, TU или PU. Модуль 110 предсказания определяет, будут ли внешнее предсказание или внутреннее предсказание выполнены в отношении соответствующей единицы обработки, и выполняет процесс предсказания, используя определенный способ предсказания. Здесь, единица обработки, подвергнутая процессу предсказания, может отличаться от единицы обработки, способ предсказания которой определен. Например, способ предсказания может быть определен в блоках PU, а процесс предсказания может быть выполнен в блоках TU.
[0052] При внешнем предсказании процесс предсказания выполняется на основе информации относительно по меньшей мере одной из предыдущей картинки и/или последующей картинки текущей картинки, чтобы сконструировать предсказанный блок. При внутреннем предсказании процесс предсказания выполняется на основе пиксельной информации текущей картинки, чтобы сконструировать предсказанный блок.
[0053] При внешнем предсказании опорная картинка выбирается для текущего блока, и опорный блок с тем же самым размером, что и текущий, выбирается в единицах интер-пиксельных выборок. Затем конструируется предсказанный блок, в котором остаточное значение от текущего блока минимизируется и величина вектора движения минимизируется. При внешнем предсказании режим пропуска, режим слияния, режим MVP (предсказание вектора движения) и т.п. могут использоваться,. Предсказанный блок может быть сконструирован в блоке пиксельных выборок, таких как 1/2 пиксельные выборки и 1/4 пиксельные выборки, меньшие чем целочисленный пиксель. Здесь, вектор движения может также быть выражен в блоке пиксельных выборок, меньших, чем целочисленный пиксель. Например, компоненты яркости могут быть выражены в блоке 1/4 пикселей, и компоненты насыщенности цвета могут быть выражены в блоке 1/8 пикселей. Информация, такая как индекс опорной картинки, выбранной с помощью внешнего предсказания, вектор движения и остаточный сигнал, энтропийно кодируется и передается к декодеру.
[0054] При внутреннем предсказании режим предсказания может быть определен блоками предсказания, и процесс предсказания может быть выполнен блоками предсказания или блоком преобразования. При внутреннем предсказании могут поддерживаться 33 направленных режима предсказания и по меньшей мере два ненаправленных режима. Здесь, ненаправленные режимы предсказания могут включать в себя режим предсказания DC и плоский режим.
[0055] С другой стороны, когда выборка используется в этом описании, она означает, что используется информация выборки, например, пиксельное значение. С целью удобства объяснения выражение “информация выборки используется”, или “пиксельное значение используется”, может быть просто выражено посредством “выборка используется”.
[0056] Блок предсказания может иметь различные размеры/формы. Например, в случае внешнего предсказания, блок предсказания может иметь размеры, такие как 2Nx2N, 2NxN, Nx2N, и NxN. В случае внутреннего предсказания блок предсказания может иметь размеры, такие как 2NxN и NxN. Здесь, блок предсказания, имеющий размер NxN, может быть установлен для использования только для конкретного случая. Например, блок предсказания, имеющий размер NxN, может быть установлен для использования только для блока кодирования, имеющего наименьший размер, или может быть установлен для использования только для внутреннего предсказания. В дополнение к блокам предсказания, имеющим вышеупомянутые размеры, блоки предсказания, имеющие размеры, такие как NxmN, mNxN, 2NxmN, и mNx2N (где m<1), могут быть дополнительно определены и использоваться.
[0057] Остаточный блок между сконструированным предсказанным блоком и первоначальным блоком вводится в модуль 115 преобразования. Информация, такая как режим предсказания, блок предсказания и вектор движения, используемая для предсказания, энтропийно кодируется модулем 130 энтропийного кодирования, и передается к декодеру.
[0058] Модуль 115 преобразования выполняет процесс преобразования в отношении остаточного блока и создает коэффициенты преобразования. Единица обработки в модуле 115 преобразования может быть блоком преобразования и может иметь структуру квадро дерева. Размер блока преобразования может быть определен в пределах заранее определенного диапазона наибольшего и наименьшего размеров. Модуль 115 преобразования может преобразовать остаточный блок, используя DCT (дискретное косинусное преобразование) и/или DST (дискретное синусное преобразование).
[0059] Модуль 120 квантования квантует коэффициенты преобразования, созданные модулем 115 преобразования, и создает коэффициенты квантования. Коэффициенты квантования, созданные модулем 120 квантования, подаются модулю 125 перекомпоновки и модулю 135 деквантования.
[0060] Модуль 125 перекомпоновки может перекомпоновать коэффициенты квантования, подаваемые от модуля 120 квантования. Посредством перекомпоновки коэффициентов квантования возможно повысить эффективность кодирования в модуле 130 энтропийного кодирования. Модуль 125 перекомпоновки перекомпоновывает коэффициенты квантования в форме двумерного блока к форме одномерного вектора с помощью способа сканирования коэффициентов. Модуль 125 перекомпоновки может повысить эффективность энтропийного кодирования в модуле 130 энтропийного кодирования, изменяя порядок сканирования коэффициентов на основе стохастической статистики коэффициентов квантования, подаваемых от модуля 120 квантования.
[0061] Модуль 130 энтропийного кодирования выполняет процесс энтропийного кодирования в отношении коэффициентов квантования, перекомпонованных модулем 125 перекомпоновки. Здесь, способы кодирования, такие как экспоненциальный способ Голомба (Golomb) и способ CABAC (контекстно-адаптивное двоичное арифметическое кодирование), могут использоваться. Модуль 130 энтропийного кодирования кодирует разнообразную информацию, такую как информация типа блока, информация режима предсказания, информация блока разделения, информация блока предсказания, информация блока передачи, информация вектора движения, опорная информация картинки, информация интерполяции блока и информация фильтрации, переданную от модуля 110 предсказания.
[0062] Модуль 130 энтропийного кодирования может придать заранее определенное изменение набору параметров или синтаксису, который должен быть передан, в случае необходимости.
[0063] Модуль 135 деквантования деквантует значения, квантованные модулем 120 квантования. Модуль 140 обратного преобразования выполняет обратное преобразование значений, деквантованных модулем 135 деквантования. Остаточный блок, реконструированный модулем 135 деквантования и модулем 140 обратного преобразования, добавляется к предсказанному блоку, сконструированному модулем 110 предсказания, чтобы сконструировать реконструированный (восстановленный) блок.
[0064] Фильтрующий модуль 145 применяет фильтр удаления блочности, ALF (адаптивный контурный фильтр), SAO (адаптивное смещение выборок) или подобное, к восстановленной картинке.
[0065] Фильтр удаления блочности удаляет искажение блоков, генерируемое на границе между блоками в восстановленной картинке. ALF выполняет процесс фильтрования на основе результирующих значений сравнения первоначальной картинки с восстановленной картинкой, фильтрованной фильтром удаления блочности. ALF может быть применено, только когда необходима высокая производительность. SAO восстанавливает разности смещений между остаточным блоком с примененным фильтром удаления блочности к нему и первоначальной картинкой в блоке пикселей, и применяется в форме смещения частотного диапазона, смещения края, или подобного.
[0066] С другой стороны, восстановленный блок, используемый для внешнего предсказания, может не быть подвергнут процессу фильтрования.
[0067] Память 150 сохраняет восстановленный блок или картинку. Восстановленный блок или картинка, сохраненные в памяти 150, подаются к модулю 110 предсказания, который выполняет внешнее предсказание.
[0068] ФИГ. 2 является блок-схемой, схематично иллюстрирующей видео декодер согласно варианту осуществления изобретения. Со ссылками на фиг. 2 видео декодер 200 включает в себя модуль 210 энтропийного декодирования, модуль 215 перекомпоновки, модуль 220 деквантования, модуль 225 обратного преобразования, модуль 230 предсказания, фильтрующий модуль 235 и память 240.
[0069] Когда видео поток битов вводится из кодера, входной поток битов может быть декодирован на основе порядка, в котором видео информация была обработана видео кодером.
[0070] Например, когда видео кодер использует CAVLC, чтобы выполнить процесс энтропийного кодирования, модуль 210 энтропийного декодирования выполняет процесс энтропийного декодирования, используя CABAC, чтобы соответствовать ему.
[0071] Остаточный сигнал, энтропийно декодированный модулем 210 энтропийного декодирования, поставляется к модулю 215 перекомпоновки, и информация для конструирования предсказанного блока из информации, энтропийно декодированной модулем 210 энтропийного декодирования, поставляется к модулю 230 предсказания.
[0072] Модуль 215 перекомпоновки перекомпоновывает поток битов, энтропийно декодированный модулем 210 энтропийного декодирования, на основе способа перекомпоновки, используемого в видео кодере. Модуль 215 перекомпоновки снабжается информацией, ассоциированной со сканированием коэффициентов, выполненным кодером, и восстанавливает и перекомпоновывает коэффициенты, выраженные в форме одномерного вектора, в коэффициентам в форме двумерного блока посредством обратного выполнения сканирования на основе порядка сканирования, в котором сканирование было выполнено кодером.
[0073] Модуль 220 деквантования выполняет деквантование на основе параметров квантования, подаваемых из кодера и перекомпонованных значений коэффициентов блока.
[0074] Модуль 225 обратного преобразования выполняет обратное преобразование преобразования, выполненного модулем преобразования упомянутого кодера. Обратное преобразование может быть выполнено на основе единицы передачи или единицы разделения, определенных кодером. Модуль преобразования кодера может выборочно выполнять DCT и DST в зависимости от множественных частей информации, таких как способ предсказания, размер текущего блока и направление предсказания, и модуль 225 обратного преобразования из декодера может выполнить обратное преобразование на основе информации преобразования относительно преобразования, выполненного модулем преобразования из кодера.
[0075] Модуль 230 предсказания конструирует предсказанный блок на основе информации конструирования предсказанного блока, предоставленной от модуля 210 энтропийного декодирования, и информации ранее декодированного блока и/или картинки, предоставленной из памяти 240. Восстановленный блок конструируется на основе предсказанного блока, сконструированного модулем 230 предсказания, и остаточного блока, подаваемого модуля 225 обратного преобразования. Например, когда текущий блок кодируется в режиме внешнего предсказания, внешнее предсказание выполняется в отношении текущего блока предсказания на основе информации, включенной в по меньшей мере одну из предыдущей картинки и последующей картинки текущей картинки. Здесь, информация движения, необходимая для внешнего предсказания, такая как вектор движения и индекс опорной картинки, может быть выведена из флага пропуска, флага слияния, и т.п. подаваемого из кодера.
[0076] Восстановленный блок и/или картинка могут подаваться к фильтрующему модулю 235. Фильтрующий модуль 235 выполняет процесс фильтрования удаления блочности, процесс SAO (адаптивное смещение выборок), и/или процесс адаптивного контурного фильтрования в отношении восстановленного блока и/или картинки.
[0077] Восстановленная картинка или блок могут быть сохранены в памяти 240 для использования в качестве опорной картинки или опорного блока и могут подаваться к модулю вывода (не показан).
[0078] С другой стороны, кодер кодирует целевой блок кодирования, используя самый эффективный способ кодирования на основе видео информации целевого блока кодирования, и декодер определяет способ декодирования на основе способа кодирования, используемого в кодере. Способ кодирования, используемый в кодере, может быть выведен из потока битов, переданного из кодера, или на основе информации целевого блока декодирования. Когда текущий блок кодируется в режиме внутреннего предсказания, внутреннее предсказание конструирования предсказанного блока выполняется на основе пиксельной информации текущей картинки.
[0079] ФИГ. 3 является последовательностью операций, схематично иллюстрирующей способ внутреннего предсказания в видео декодере.
[0080] Декодер выводит режим предсказания текущего блока (S310).
[0081] Режим внутреннего предсказания может иметь направление предсказания в зависимости от позиций опорных выборок, используемых для предсказания. Режим внутреннего предсказания, имеющий направление предсказания, упоминается как режим внутреннего направленного предсказания (режим предсказания Intra_Angular). Напротив, примеры режима внутреннего предсказания, не имеющего направление предсказания, включают в себя режим предсказания Intra_Planar, режим предсказания Intra_DC, и режим предсказания Intra_Fromlum.
[0082] ФИГ. 4 иллюстрирует направления предсказания в режимах внутреннего предсказания, и Таблица 1 показывает значения режима для режимов внутреннего предсказания, проиллюстрированных на фиг. 4.
[0083]
[0084] При внутреннем предсказании процесс предсказания выполняется в отношении текущего блока на основе выведенного режима предсказания. Опорные выборки и конкретный способ предсказания, используемые для предсказания, изменяются в зависимости от режимов предсказания. Соответственно, когда текущий блок кодируется в режиме внутреннего предсказания, декодер выводит режим предсказания текущего блока, чтобы выполнить предсказание.
[0085] Декодер может проверить, могут ли соседние выборки текущего блока использоваться для предсказания, и может конструировать опорные выборки, которые будут использоваться для предсказания (S320). При внутреннем предсказании соседние выборки текущего блока означают выборки с длиной 2*nS, смежные с левой границей и левым-нижним краем текущего блока с размером nSxnS, и выборки с длиной 2*nS, смежные с верхней границей и верхним правым краем текущего блока. Однако, некоторые из соседних выборок текущего блока еще могут не быть декодированы или могут быть не доступны. В этом случае декодер может конструировать опорные выборки, которые должны использоваться для предсказания, заменяя недоступные выборки доступной выборкой.
[0086] Декодер может выполнять фильтрование в отношении опорных выборок на основе режима предсказания (S330). Декодер может выполнить процесс фильтрования в отношении опорных выборок прежде, чем выполнить предсказание. Должны ли опорные выборки быть подвергнуты процессу фильтрования, определяется в зависимости от режима предсказания текущего блока. Фильтрование, адаптивно выполняемое в отношении опорных выборок в зависимости от режима предсказания, упоминается как MDIS (зависимое от режима внутреннее сглаживание) или просто называется фильтрованием сглаживания.
[0087] Таблица 2 показывает пример, в котором определяется, должны ли опорные выборки быть подвергнуты фильтрованию на основе режима предсказания.
[0088]
[0089] Когда intraFilterType равняется 1 в Таблице 2, фильтрование сглаживанием выполняется. Например, когда intraPredMode является режимом Intra_Planar, и nS=8 установлено, фильтрование сглаживанием может быть выполнено. В это время могут быть применены фильтры сглаживания, имеющие различные коэффициенты фильтрования. Например, фильтрование сглаживанием, имеющее коэффициент [1 2 1], может быть применено.
[0090] Декодер конструирует предсказанный блок текущего блока на основе режима предсказания и опорных выборок (S340). Декодер конструирует предсказанный блок текущего блока на основе режима предсказания, выведенного на этапе выведения режима предсказания (S310), и опорной выборки, полученной на этапе фильтрования опорной выборки (S330).
[0091] На этапе конструирования предсказанного блока (S340), когда текущий блок кодируется в предсказании Intra_DC, левые граничные выборки и верхние граничные выборки предсказанного блока могут быть подвергнуты 2-х отводному (каскадному) фильтрованию, чтобы минимизировать отсутствие непрерывности границы блока. Здесь граничные выборки означают выборки, которые расположены в предсказанном блоке и которые являются смежными с границей предсказанного блока.
[0092] ФИГ. 5 является диаграммой, иллюстрирующей пример, в котором текущий блок кодируется в режиме предсказания Intra_DC.
[0093] Со ссылками на фиг. 5, когда текущий блок 500 кодируется в режиме предсказания Intra_DC, левые граничные выборки 522 и верхние граничные выборки 521 текущего блока 500 могут быть в значительной степени аналогичны левым опорным выборкам 530 и верхним опорным выборкам 510, соответственно, и таким образом фильтр сглаживания может быть применен, как иллюстрировано на фиг. 5. На чертеже заштрихованная часть 505 представляет целевую область фильтрации.
[0094] В некоторых режимах из режимов внутреннего направленного предсказания 2-х отводное фильтрование может быть применено к левым граничным выборкам и верхним граничным выборкам, аналогично режиму предсказания Intra_DC. Здесь, 2-х отводное фильтрование не применяется как к левым граничным выборкам так и к верхним граничным выборкам, но адаптивно применяется к левым граничным выборкам или верхним граничным выборкам в зависимости от направления предсказания. То есть, 2-х отводное фильтрование применяется только к граничным выборкам, смежным с опорными выборками, фактически не используемыми для направленного предсказания.
[0095] В частности, на этапе конструирования предсказанного блока (S340), когда текущий блок кодируется в режиме внутреннего направленного предсказания, значения предсказанных выборок могут быть выведены из опорных выборок, расположенных в направлении предсказания. Здесь, в некоторых режимах из режимов внутреннего направленного предсказания граничные выборки, не расположенные в направлении предсказания из левых граничных выборок и верхних граничных выборок предсказанного блока, могут быть смежными с опорными выборками, не используемыми для предсказания. То есть, расстояние до опорных выборок, не используемых для предсказания, может быть намного меньшим, чем расстояние до опорных выборок, используемых для предсказания. Так как имеется большая вероятность, что значения предсказанных выборок являются аналогичными опорным выборкам, имеющим меньшие расстояния, фильтрование применяется к опорным выборкам, смежным с граничными выборками, не расположенными в направлении предсказания, из левых граничных выборок и верхних граничных выборок в настоящем изобретении, чтобы повысить производительность предсказания и эффективность кодирования.
[0096] С целью удобства объяснения процедура выведения значений предсказанных выборок в режимах внутреннего направленного предсказания ниже описана в двух этапах - этапе выведения значения опорных выборок, расположенных в направлении предсказания, в качестве значений предсказанных выборок, и этапе фильтрования и модификации граничных выборок, не расположенных в направлении предсказания, из левых граничных выборок и верхних граничных выборок предсказанного блока. Координаты [x, y], значения координат которых увеличиваются в направлении вправо-вниз, устанавливаются относительно левой-верхней выборки текущего блока и предсказанного блока. Размер текущего блока и предсказанного блока определяется как nS. Например, левая-верхняя граничная выборка предсказанного блока имеет позицию [0, 0], левые граничные выборки имеют позиции [0, 0.. nS-1], и верхние граничные выборки имеют позиции [0.. nS-1, 0].
[0097] Сначала значения предсказанных выборок выводят на основе опорных выборок, расположенных в направлении предсказания.
[0098] Например, когда текущий блок кодируется в вертикальном режиме предсказания, значения предсказанных выборок выводятся, чтобы быть значениями выборок, имеющих одну и ту же координату x, из опорных выборок, граничащих с верхней границей текущего блока. То есть, значения predSamples[x, y] предсказанных выборок выводятся посредством Выражения 1.
[0099] Выражение 1
[0100] Здесь, p[a, b] представляет значение выборки, имеющей позицию [a, b].
[0101] Например, когда текущий блок кодируется в горизонтальном режиме предсказания, значения предсказанных выборок выводятся, чтобы быть значениями выборок, имеющих одну и ту же координату y, из опорных выборок, граничащих с левой границей текущего блока. То есть, значения predSamples [x, y] предсказанных выборок выводятся посредством Выражения 2.
[0102] Выражение 2
[0103] Например, когда текущий блок кодируется в режиме внутреннего направленного предсказания, направление предсказания является правым-верхним направлением, значения предсказанных выборок выводятся, чтобы быть значениями опорных выборок, расположенных в направлении предсказания, из опорных выборок, смежных с верхней границей текущего блока, и опорной выборки, расположенной на верхнем-правом краю.
[0104] Например, когда текущий блок кодируется в режиме внутреннего направленного предсказания, направление предсказания является левым-нижним направлением, значения предсказанных выборок выводятся, чтобы быть значениями опорных выборок, расположенных в направлении предсказания, из опорных выборок, смежных с левой границей текущего блока, и опорной выборки, расположенной на левом-нижнем краю.
[0105] Посредством вывода значений предсказанных выборок на основе опорных выборок, расположенных в направлении предсказания, и затем фильтрования граничных выборок, не расположенных в направлении предсказания, из левых граничных выборок и верхних граничных выборок предсказанного блока на основе смежных опорных выборок, возможно изменить значения соответствующих граничных выборок. Способ фильтрования граничных выборок, не расположенных в направлении предсказания, из левых граничных выборок и верхних граничных выборок предсказанного блока, используя опорные выборки, не расположенные в направлении предсказания, описан ниже подробно со ссылками на фиг. 5-13.
[0106] ФИГ. 6 является диаграммой, иллюстрирующей пример, в котором направление предсказания режима внутреннего предсказания согласно варианту осуществления изобретения является вертикальным.
[0107] Со ссылками на фиг. 6, в случае вертикального режима предсказания (внутренний вертикальный режим предсказания), фильтр сглаживания может быть применен к левым граничным выборкам 620.
[0108] Как описано выше, когда текущий блок 600 кодируется в вертикальном режиме предсказания, значения предсказанных выборок выводятся, чтобы быть значениями верхних опорных выборок. Здесь, опорные выборки, граничащие с левой границей текущего блока 600, не используются для направленного предсказания, но являются смежными с левыми граничными выборками текущего блока 600. Таким образом, в левых граничных выборках 620 расстояние до левых опорных выборок 630, которые являются опорными выборками, не используемыми для предсказания, меньше, чем расстояние до верхних опорных выборок 610, которые являются опорными выборками, используемыми для предсказания. Здесь верхние опорные выборки 610 означают выборки [x, -1], которые граничат с верхней границей текущего блока и которые имеют одну и ту же координату x. Левые опорные выборки 630 означают выборки [-1, y], которые граничат с левой границей текущего блока и которые имеют одну и ту же координату y. Поэтому, так как есть высокая вероятность, что значения левых граничных выборок 620 являются аналогичными значениям левых опорных выборок 630, фильтр сглаживания может быть применен к левым граничным выборкам 620, как иллюстрировано на фиг. 6. Заштрихованная часть 605 на чертеже представляет целевую область фильтрации.
[0109] Например, когда фильтр сглаживания, имеющий коэффициент [1 1]/2, применяется, модифицированные значения predSamples [x, y] левых граничных выборок 620 могут быть выведены посредством Выражения 3.
[0110] Выражение 3
[0111] Коэффициент фильтра не ограничен [1 1]/2, но фильтры, имеющие коэффициенты, такие как [1 3]/4 и [1 7]/8, могут быть применены. Коэффициент фильтра могут быть адаптивно определены в зависимости от размера текущего блока.
[0112] С другой стороны, информация соседних блоков может быть далее рассмотрена при выполнении фильтрования в отношении левых опорных выборок. Например, модифицированные значения левых граничных выборок 620 могут быть выведены, как выражено посредством Выражения 4, с учетом изменений значений выборок в зависимости от значений координаты y левых граничных выборок 620 относительно левой-верхней опорной выборки 640.
[0113] Выражение 4
[0114] Когда значения левых граничных выборок 620 выводятся, используя вышеупомянутый способ, значения предсказанной выборки могут превысить определенную битовую глубину. Поэтому, значения предсказанных выборок могут быть ограничены этой определенной битовой глубиной, или вес может быть дан разности между ними. Например, в случае предсказанных выборок компонентов яркости модифицированные значения левых граничных выборок 620 могут быть выведены посредством Выражения 5.
[0115] Выражение 5
[0116] ФИГ. 7 является диаграммой, иллюстрирующей пример, в котором направление предсказания режима внутреннего предсказания согласно варианту осуществления изобретения является горизонтальным.
[0117] Со ссылками на фиг. 7, в случае горизонтального режима предсказания (внутренний горизонтальный режим предсказания), фильтр сглаживания может быть применен к верхним граничным выборкам 720.
[0118] Как описано выше, когда текущий блок 700 кодируется в вертикальном режиме предсказания, значения предсказанных выборок выводятся, чтобы быть значениями левых опорных выборок. Здесь, опорные выборки, граничащие с верхней границей текущего блока 700, не используются для направленного предсказания, но граничат с верхними граничными выборками текущего блока 700. То есть, в верхних граничных выборках 720 расстояние до верхних опорных выборок 710, которые являются опорными выборками, не используемыми для предсказания, меньше чем расстояние до левых опорных выборок 730, которые являются опорными выборками, используемыми для предсказания. Здесь, верхние опорные выборки 710 означают выборки [x, -1], которые граничат с верхней границей текущего блока и которые имеют одну и ту же координату x. Левые опорные выборки 730 означают выборки [-1, y], которые граничат с левой границей текущего блока и которые имеют одну и ту же координату y. Поэтому, так как есть высокая вероятность, что значения верхних граничных выборок 720 подобны значениям верхних опорных выборок 710, фильтр сглаживания может быть применен к верхним граничным выборкам 720, как проиллюстрировано на фиг. 7. Заштрихованная часть 705 на чертеже представляет целевую область фильтрации.
[0119] Например, когда фильтр сглаживания, имеющий коэффициент [1 1]/2, применяется, модифицированные значения predSamples [x, y] верхних граничных выборок 720 могут быть выведены посредством Выражения 6.
[0120] Выражение 6
[0121] Коэффициент фильтра не ограничен [1 1]/2, но фильтры, имеющие коэффициенты, такие как [1 3]/4 и [1 7]/8, могут быть применены. Коэффициент фильтра может быть адаптивно определен в зависимости от размера текущего блока.
[0122] С другой стороны, информацию соседних блоков можно также рассмотреть при выполнении фильтрования в отношении верхних опорных выборок. Например, модифицированные значения верхних граничных выборок 720 могут быть выведены, как выражено посредством Выражения 7, с учетом изменений значений выборок в зависимости от значений координаты x верхних граничных выборок 720 относительно левой - верхней опорной выборки 740.
[0123] Выражение 7
[0124] Когда значения верхних граничных выборок 720 выводятся, используя вышеупомянутый способ, значения предсказанной выборки могут превысить определенную битовую глубину. Поэтому, значения предсказанных выборок могут быть ограничены этой определенной битовой глубиной, или вес может быть дан разности между ними. Например, в случае предсказанных выборок компонентов яркости, модифицированные значения верхних граничных выборок 720 могут быть выведены посредством Выражения 8.
[0125] Выражение 8
[0126] С другой стороны, способ применения фильтра сглаживания к левым граничным выборкам или верхним граничным выборкам на основе режима предсказания текущего блока может быть применен к другим режимам внутреннего направленного предсказания в дополнение к вертикальному режиму предсказания и/или горизонтальному режиму предсказания.
[0127] Например, режимы внутреннего направленного предсказания могут быть классифицированы в зависимости от направлений предсказания, и фильтрование может быть адаптивно выполнено в зависимости от групп, которым принадлежит соответствующий режим.
[0128] ФИГ. 8 является диаграммой, иллюстрирующей пример, в котором режимы внутреннего предсказания классифицированы в зависимости от направлений предсказания.
[0129] Когда направление предсказания режима внутреннего предсказания является правым-верхним направлением 810, фильтр сглаживания может быть применен к левым граничным выборкам, аналогично вертикальному режиму предсказания. Когда направление предсказания режима внутреннего предсказания является левым-нижним направлением 820, фильтр сглаживания может быть применен к верхним граничным выборкам, аналогично горизонтальному режиму предсказания.
[0130] ФИГ. 9 является диаграммой, иллюстрирующей пример, в котором направление предсказания режима внутреннего предсказания является правым-верхним направлением согласно варианту осуществления изобретения.
[0131] Как описано выше, когда текущий блок 900 кодируется в режиме внутреннего направленного предсказания, направление предсказания которого является правым-верхним направлением, значения предсказанных выборок выводятся, чтобы быть значениями опорных выборок 910, расположенными в направлении предсказания, из опорных выборок, граничащих с правой границей текущего блока, и опорной выборки 910, расположенной на верхнем правом краю. Здесь, опорные выборки, граничащие с левой границей текущего блока 900, не используются, но являются смежными с левыми граничными выборками. Таким образом, левые граничные выборки 920 имеют расстояние до левых опорных выборок 930 меньшее, чем расстояние до опорных выборок 910, расположенных в направлении предсказания. Здесь, левые опорные выборки 930 означают выборки [-1, y], которые граничат с левой границей текущего блока и которые имеют одну и ту же координату y. Поэтому, так как есть высокая вероятность, что значения левых граничных выборок 920 подобны значениям смежных левых опорных выборок 930, фильтр сглаживания может быть применен к левым граничным выборкам 920, как проиллюстрировано на фиг. 9. Заштрихованная часть 905 на чертеже представляет целевую область фильтрации.
[0132] ФИГ. 10 является диаграммой, иллюстрирующей пример, в котором направление предсказания режима внутреннего предсказания является левым-нижним направлением согласно варианту осуществления изобретения.
[0133] Как описано выше, когда текущий блок 1000 кодируется в режиме внутреннего направленного предсказания, направление предсказания которого является левым-нижним направлением, значения предсказанных выборок выводятся, чтобы быть значениями опорных выборок 1030, расположенными в направлении предсказания, из опорных выборок, граничащих с левой границей текущего блока, и опорной выборки, расположенной на левом-нижнем краю. Здесь, опорные выборки, граничащие с верхней границей текущего блока 1000, не используются, но граничат с верхними граничными выборкам. Таким образом, верхние граничные выборки 1020 имеют расстояние до верхних опорных выборок 1010 меньше, чем расстояние до опорных выборок 1030, расположенных в направлении предсказания. Здесь, верхние опорные выборки 1010 означают выборки [x, -1], которые граничат с верхней границей текущего блока и которые имеют одну и ту же координату x. Поэтому, так как есть высокая вероятность, что значения верхних граничных выборок 1020 подобны значениям смежных верхних опорных выборок 1030, фильтр сглаживания может быть применен к верхним граничным выборкам 1020, как проиллюстрировано на фиг. 10. Заштрихованная часть 1005 на чертеже представляет целевую область фильтрации.
[0134] С другой стороны, как описано выше, процедура выведения значения предсказанных выборок была описана в двух этапах, этапа выведения значения опорных выборок, расположенных в направлении предсказания, в качестве значений предсказанных выборок, и этапа фильтрования и изменения граничных выборок, не расположенных в направлении предсказания, из левых граничных выборок и верхних граничных выборок предсказанного блока с целью удобства объяснения, но процедура выведения значения предсказанных выборок может не быть разделена на множественные этапы, но может быть выполнена в единственном этапе. Например, в процедуре выведения значения граничных выборок, не расположенных в направлении предсказания, из левых граничных выборок и верхних граничных выборок предсказанного блока, этап фильтрования граничных выборок может не быть выполнен как независимый этап, но может быть выполнен как объединенный этап с этапом выведения значения предсказанных выборок, чтобы быть значениями опорных выборок, расположенных в направлении предсказания.
[0135] Например, в примере, проиллюстрированном на фиг. 6, значения левых граничных выборок 620 могут быть выведены на основе верхних опорных выборок 610 и опорных выборок 630, смежных с левыми граничными выборками, как выражено посредством Выражений 3-5.
[0136] Например, в примере, проиллюстрированном на фиг. 7, значения верхних граничных выборок 720 могут быть выведены на основе левых опорных выборок 730 и опорных выборок 710, смежных с верхними граничными выборками, как выражено посредством Выражений 6-8.
[0137] Например, в примере, проиллюстрированном на фиг. 9, значения левых граничных выборок 920 могут быть выведены на основе опорных выборок 910, расположенных в направлении предсказания, и опорных выборок 930, смежных с левыми граничными выборками.
[0138] Например, в примере, проиллюстрированном на фиг. 10, значения верхних граничных выборок 1020 могут быть выведены на основе опорных выборок 1030, расположенных в направлении предсказания, и опорных выборок 1010, смежных с верхними граничными выборками.
[0139] С другой стороны, так как фильтрование сглаживанием не выполняется в отношении предсказанных выборок, отличных от граничных выборок, не расположенных в направлении предсказания, из левых граничных выборок и верхних граничных выборок предсказанного блока, значения предсказанных выборок выводятся, чтобы быть значениями опорных выборок в направлении предсказания.
[0140] Например, когда текущий блок кодируется в вертикальном режиме предсказания, значения предсказанных выборок, отличных от левых граничных выборок, выводятся как выражено посредством Выражения 9.
[0141] Выражение 9
[0142] Например, когда текущий блок кодируется в горизонтальном режиме предсказания, значения предсказанных выборок, отличных от верхних граничных выборок, выводятся как выражено посредством Выражения 10.
[0143] Выражение 10
[0144] С другой стороны, способ применения фильтра сглаживания к левым граничным выборкам или верхним граничным выборкам на основе режима предсказания текущего блока может не быть применен ко всем предсказанным выборкам граничных выборок, но может относиться только к некоторым из них.
[0145] Когда расстояние до опорных выборок, используемых для направленного предсказания, является малым, ошибка предсказанной выборки может не быть большой. В этом случае, является довольно точным не применять фильтр сглаживания, то есть, не рассматривать другую информацию выборок. Поэтому, может быть определено, должно ли фильтрование быть выполнено в отношении смежных опорных выборок в зависимости от позиций граничных выборок в блоке.
[0146] Например, фильтр сглаживания может быть применен только к некоторым из левых граничных выборок в вертикальном режиме предсказания, или фильтр сглаживания может быть применен только к некоторым из верхних граничных выборок в горизонтальном режиме предсказания.
[0147] ФИГ. 11 является диаграммой, иллюстрирующей пример, в котором направление предсказания режима внутреннего предсказания является вертикальным согласно другому варианту осуществления изобретения. Со ссылками на фиг. 11, фильтр сглаживания может быть применен только к некоторым из левых граничных выборок. Таким образом, чем больше становится расстояние до опорных выборок, используемых для предсказания, тем становится ниже точность предсказания. Соответственно, фильтр сглаживания может быть применен к только выборкам в области, имеющей низкую точность.
[0148] Например, фильтр сглаживания может быть применен только к некоторым левым граничным выборкам 1120, удаленным от верхних опорных выборок 1110, из левых граничных выборок относительно половины высоты текущего блока 1100. Заштрихованная часть 1105 на чертеже представляет целевую область фильтрации.
[0149] Даже когда режимом предсказания текущего блока является горизонтальный режим предсказания, может быть определено, должно ли фильтрование быть выполнено в отношении смежных опорных выборок в зависимости от позиций верхних граничных выборок в блоке.
[0150] ФИГ. 12 является диаграммой, иллюстрирующей пример, в котором направление предсказания режима внутреннего предсказания является горизонтальным, согласно другому варианту осуществления изобретения. Со ссылками на фиг. 12, фильтр сглаживания может быть применен только к некоторым из верхних граничных выборок.
[0151] Например, фильтр сглаживания может быть применен только к верхним граничным выборкам 1220, удаленным от левых опорных выборок 1230, из верхних граничных выборок относительно половины ширины текущего блока 1200. Заштрихованная часть 1205 на чертеже представляет целевую область фильтрации.
[0152] С другой стороны, область, к которой применяется фильтр сглаживания, не ограничена половиной высоты или ширины текущего блока. То есть, область может быть установлена, чтобы иметь размер 1/4 или 3/4 его или может быть адаптивно определена на основе расстояния до выборок, используемого для предсказания в зависимости от режима внутреннего предсказания. В этом случае область, к которой применяется фильтр сглаживания, может быть определена в таблице поиска, чтобы уменьшить вычислительную нагрузку кодера или декодера.
[0153] С другой стороны, технический объем изобретения может быть применен и к компоненту яркости и к компоненту насыщенности цвета, но может быть применен к только компоненту яркости и может не быть применен к компоненту насыщенности цвета. Когда технический объем изобретения применяется к только компоненту яркости, значения предсказанных выборок компонента насыщенности цвета выводятся, используя тот же способ, как в обычном режиме внутреннего предсказания.
[0154] ФИГ. 13 является диаграммой, схематично иллюстрирующей работу кодера в системе согласно изобретению.
[0155] Кодер выполняет процесс предсказания в отношении текущего блока (S1310). Кодер конструирует предсказанный блок текущего блока на основе режима предсказания текущего блока. Здесь, соседние выборки текущего блока могут использоваться как опорные выборки, чтобы вывести значения предсказанных выборок.
[0156] Когда режимом предсказания текущего блока является режим внутреннего направленного предсказания, кодер может вывести значения граничных выборок, не расположенных в направлении предсказания режима внутреннего направленного предсказания, из левых граничных выборок и верхних граничных выборок предсказанного блока на основе опорных выборок, расположенных в направлении предсказания, и опорных выборок, смежных с граничными выборками. Здесь, граничные выборки означают выборки, которые расположены в предсказанном блоке и которые являются смежными с границей предсказанного блока.
[0157] Например, когда режимом внутреннего направленного предсказания является вертикальный режим предсказания, кодер может вывести значения левых граничных выборок на основе верхних опорных выборок левых граничных выборок и опорных выборок, смежных с левыми граничными выборками. Здесь, верхние опорные выборки означают выборки, которые граничат с верхней границей текущего блока и которые имеют одну и ту же координату x.
[0158] Например, когда режимом внутреннего направленного предсказания является вертикальный режим предсказания, кодер может вывести значения левых граничных выборок на основе верхних опорных выборок левых граничных выборок, опорных выборок, смежных с левыми граничными выборками, и опорной выборки, граничащей с левым-верхним краем текущего блока.
[0159] Например, когда режимом внутреннего направленного предсказания является горизонтальный режим предсказания, кодер может вывести значения верхних граничных выборок на основе левых опорных выборок верхних граничных выборок и опорных выборок, смежных с верхними граничными выборками. Здесь, левые опорные выборки означают выборки, которые являются смежными с левой границей текущего блока и которые имеют одну и ту же координату y.
[0160] Например, когда режимом внутреннего направленного предсказания является горизонтальный режим предсказания, кодер может вывести значения верхних граничных выборок на основе левых опорных выборок верхних граничных выборок, опорных выборок, смежных с верхними граничными выборками, и опорной выборки, граничащей с левым-верхним краем текущего блока.
[0161] Например, когда направление предсказания режима предсказания является правым-верхним направлением, кодер может вывести значения левых граничных выборок на основе опорных выборок, расположенных в направлении предсказания, и опорных выборок, смежных с левыми граничными выборками.
[0162] Например, когда направление предсказания режима предсказания является левым-нижним направлением, кодер может вывести значения верхних граничных выборок на основе опорных выборок, расположенных в направлении предсказания, и опорных выборок, смежных с верхними граничными выборками.
[0163] С другой стороны, кодер может вывести значения предсказанных выборок, отличных от граничных выборок, не расположенных в направлении предсказания режима внутреннего направленного предсказания, из левых граничных выборок и верхних граничных выборок предсказанного блока, чтобы быть значениями опорных значений, расположенных в направлении предсказания.
[0164] Например, когда режимом внутреннего направленного предсказания является вертикальный режим предсказания, кодер может вывести значения предсказанных выборок, чтобы быть значениями верхних опорных выборок предсказанных выборок.
[0165] Например, когда режимом внутреннего направленного предсказания является горизонтальный режим предсказания, кодер может вывести значения предсказанных выборок, чтобы быть значениями левых опорных выборок предсказанных выборок.
[0166] Кодер энтропийно кодирует информацию относительно предсказанного блока, сконструированного на этапе предсказания S1310 (S1320). Как описано выше, способы кодирования, такие как экспоненциальный Голомба и CABAC, могут использоваться для энтропийного кодирования, и кодовые слова могут быть назначены с учетом частоты появления режима предсказания или типа предсказания.
[0167] Кодер сигнализирует информацию, закодированную на этапе S1320 (S1330) энтропийного кодирования. Например, кодер может сигнализировать информацию режима предсказания и остаточный сигнал между предсказанным блоком и первоначальным блоком. Когда фильтр сглаживания применяется к процедуре, выполняющей внутреннее предсказание, информация относительно коэффициентов фильтра сглаживания может быть сигнализирована.
[0168] ФИГ. 14 является диаграммой, схематично иллюстрирующей работу декодера в системе согласно изобретению.
[0169] Декодер принимает информацию из кодера (S1410). Информация, принятая из кодера, может быть снабжена потоком битов, имеющим загруженную информацию в нем.
[0170] Декодер энтропийно декодирует информацию, принятую на этапе S1410 (S1420) приема информации. Декодер может получить информацию для предсказания текущего блока, такую как способ предсказания (внешнее предсказание/внутреннее предсказание) текущего блока, вектор движения (внешнее предсказание), режим предсказания (внутреннее предсказание), и остаточный сигнал, на этапе S1420 энтропийного декодирования.
[0171] Декодер выполняет процесс предсказания в отношении текущего блока на основе информации, полученной на этапе S1420 энтропийного декодирования. Декодер конструирует предсказанный блок текущего блока на основе режима предсказания текущего блока. Здесь, соседние выборки текущего блока могут использоваться как опорные выборки, чтобы вывести значения предсказанных выборок.
[0172] Способ предсказания, выполняемый в декодере, идентичен или подобен способу предсказания, выполняемому в кодере.
[0173] То есть, когда режимом предсказания текущего блока является режим внутреннего направленного предсказания, декодер может вывести значения граничных выборок, не расположенных в направлении предсказания режима внутреннего направленного предсказания, из левых граничных выборок и верхних граничных выборок предсказанного блока на основе опорных выборок, расположенных в направлении предсказания, и опорных выборок, смежных с соответствующими граничными выборками.
[0174] Например, режимом внутреннего направленного предсказания является вертикальный режим предсказания, тогда декодер может вывести значения левых граничных выборок на основе верхних опорных выборок левых граничных выборок и опорных выборок, смежных с левыми граничными выборками.
[0175] Например, режимом внутреннего направленного предсказания является вертикальный режим предсказания, тогда декодер может вывести значения левых граничных выборок на основе верхних опорных выборок левых граничных выборок, опорных выборок, смежных с левыми граничными выборками, и опорной выборки, граничащей с левым-верхним краем текущего блока.
[0176] Например, режимом внутреннего направленного предсказания является горизонтальный режим предсказания, тогда декодер может вывести значения верхних граничных выборок на основе левых опорных выборок верхних граничных выборок и опорных выборок, смежных с верхними граничными выборками.
[0177] Например, режимом внутреннего направленного предсказания является горизонтальный режим предсказания, декодер может вывести значения верхних граничных выборок на основе левых опорных выборок верхних граничных выборок, опорных выборок, смежных с верхними граничными выборками, и опорной выборки, смежной с левым-верхним краем текущего блока.
[0178] Например, когда направление предсказания режима предсказания является правым-верхним направлением, декодер может вывести значения левых граничных выборок на основе опорных выборок, расположенных в направлении предсказания, и опорных выборок, смежных с левыми граничными выборками.
[0179] Например, когда направление предсказания режима предсказания является левым-нижним направлением, кодер может вывести значения верхних граничных выборок на основе опорных выборок, расположенных в направлении предсказания, и опорных выборок, смежных с верхними граничными выборками.
[0180] Декодер может вывести значения предсказанных выборок, отличных от граничных выборок, не расположенных в направлении предсказания режима внутреннего направленного предсказания, из левых граничных выборок и верхних граничных выборок предсказанного блока, чтобы быть значениями опорных выборок, расположенных в направлении предсказания.
[0181] Например, когда режимом внутреннего направленного предсказания является вертикальный режим предсказания, декодер может вывести значения предсказанных выборок, чтобы быть значениями верхних опорных выборок предсказанных выборок.
[0182] Например, когда режимом внутреннего направленного предсказания является горизонтальный режим предсказания, декодер может вывести значения предсказанных выборок, чтобы быть значениями левых опорных выборок предсказанных выборок.
[0183] Декодер восстанавливает картинку на основе предсказанного блока, сконструированного на этапе S1430 (S1440) предсказания.
[0184] В то время как способы в вышеописанной примерной системе были описаны на основе последовательностей операций, включающей в себя последовательность этапов или блоков, изобретение не ограничено этим порядком этапов, и некоторый этап может быть выполнен на этапе или порядке, отличном от описанного выше, или в то же самое время, как описано выше. Вышеупомянутые варианты осуществления могут включать в себя различные примеры. Поэтому изобретение включает в себя все замены, коррекции и модификации, принадлежащие приложенной формуле изобретения.
[0185] Когда упомянуто выше, что элемент “связан с” или “подсоединен к” другому элементу, нужно подразумевать, что еще один другой элемент может быть вставлен между ними, а также что элемент может быть связан или соединен непосредственно к другому элементу. Напротив, когда упомянуто, что элемент “связан непосредственно с”, или “подсоединен непосредственно к” другому элементу, нужно подразумевать, что еще один другой элемент не вставлен между ними.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ И КОДЕР И ДЕКОДЕР, ИСПОЛЬЗУЮЩИЕ ЕГО | 2019 |
|
RU2745827C1 |
СПОСОБ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ И КОДЕР И ДЕКОДЕР, ИСПОЛЬЗУЮЩИЕ ЕГО | 2021 |
|
RU2765234C1 |
СПОСОБ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ И КОДЕР И ДЕКОДЕР, ИСПОЛЬЗУЮЩИЕ ЕГО | 2019 |
|
RU2708443C1 |
СПОСОБ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ И КОДЕР И ДЕКОДЕР, ИСПОЛЬЗУЮЩИЕ ЕГО | 2012 |
|
RU2627110C2 |
СПОСОБ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ И КОДЕР И ДЕКОДЕР, ИСПОЛЬЗУЮЩИЕ ЕГО | 2012 |
|
RU2550539C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ РАЗНОСТЕЙ ВЕКТОРОВ ДВИЖЕНИЯ | 2023 |
|
RU2820303C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ РАЗНОСТЕЙ ВЕКТОРОВ ДВИЖЕНИЯ | 2020 |
|
RU2784417C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ РАЗНОСТЕЙ ВЕКТОРОВ ДВИЖЕНИЯ | 2020 |
|
RU2807635C2 |
СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ ДЛЯ ВЫВЕДЕНИЯ ИНФОРМАЦИИ ИНДЕКСА ВЕСА ДЛЯ ГЕНЕРАЦИИ ВЫБОРКИ ПРЕДСКАЗАНИЯ | 2020 |
|
RU2812840C2 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, ХРАНЯЩИЙ БИТОВЫЙ ПОТОК | 2023 |
|
RU2824753C1 |
Изобретение относится к кодированию и декодированию видео. Техническим результатом является обеспечение эффективного способа сжатия видео на основе внутреннего предсказания. Раскрыт способ декодирования картинки посредством устройства декодирования, причем способ содержит: прием информации режима предсказания; определение режима внутреннего предсказания для текущего блока картинки на основании информации режима предсказания; когда определенный режим внутреннего предсказания для текущего блока является режимом горизонтального предсказания, выведение выборки предсказания текущего блока на основании первой опорной выборки, расположенной вместе с направлением горизонтального предсказания относительно местоположения выборки предсказания, причем первая опорная выборка расположена с левой стороны левой границы текущего блока, и фильтрацию выборки предсказания на основании второй опорной выборки, когда выборка предсказания является смежной с верхней границей текущего блока, причем вторая опорная выборка расположена с верхней стороны верхней границы текущего блока; и декодирование картинки посредством генерирования реконструированной выборки текущего блока на основании отфильтрованной выборки предсказания текущего блока. 5 н. и 4 з.п. ф-лы, 14 ил., 2 табл.
1. Способ декодирования картинки посредством устройства декодирования, причем способ содержит:
прием информации режима предсказания;
определение режима внутреннего предсказания для текущего блока картинки на основании информации режима предсказания;
когда определенный режим внутреннего предсказания для текущего блока является режимом горизонтального предсказания, выведение выборки предсказания текущего блока на основании первой опорной выборки, расположенной вместе с направлением горизонтального предсказания относительно местоположения выборки предсказания, причем первая опорная выборка расположена с левой стороны левой границы текущего блока, и
фильтрацию выборки предсказания на основании второй опорной выборки, когда выборка предсказания является смежной с верхней границей текущего блока, причем вторая опорная выборка расположена с верхней стороны верхней границы текущего блока; и
декодирование картинки посредством генерирования реконструированной выборки текущего блока на основании отфильтрованной выборки предсказания текущего блока.
2. Способ по п. 1, причем первая опорная выборка имеет ту же координату y, что и выборка предсказания, которая должна быть отфильтрована.
3. Способ по п. 1, причем вторая опорная выборка, используемая для фильтрации в отношении выборки предсказания, является опорной выборкой, имеющей ту же координату x, что и выборка предсказания, которая должна быть отфильтрована.
4. Способ по п. 1, причем вторая опорная выборка, которая должна быть использована для фильтрации в отношении выборки предсказания, является опорной выборкой, смежной с верхом выборки предсказания, которая должна быть отфильтрована.
5. Способ по п. 1, причем фильтрация не применяется к выборкам предсказания, которые находятся в текущем блоке и не являются смежными с верхней границей текущего блока.
6. Устройство декодирования для декодирования картинки, причем устройство содержит:
модуль энтропийного декодирования, выполненный с возможностью приема информации режима предсказания;
модуль предсказания, выполненный с возможностью определения режима внутреннего предсказания для текущего блока картинки на основании информации режима предсказания,
при этом, когда определенный режим внутреннего предсказания для текущего блока является режимом горизонтального предсказания, модуль предсказания выполнен с возможностью выведения выборки предсказания текущего блока на основании первой опорной выборки, расположенной вместе с направлением горизонтального предсказания относительно местоположения выборки предсказания, причем первая опорная выборка расположена с левой стороны левой границы текущего блока, фильтрации выборки предсказания на основании второй опорной выборки, когда выборка предсказания является смежной с верхней границей текущего блока, причем вторая опорная выборка расположена с верхней стороны верхней границы текущего блока; и
сумматор, выполненный с возможностью генерирования реконструированной выборки текущего блока на основании отфильтрованной выборки предсказания текущего блока для декодирования картинки.
7. Способ кодирования информации о картинке посредством устройства кодирования, причем способ содержит:
определение режима внутреннего предсказания для текущего блока картинки;
когда определенный режим внутреннего предсказания для текущего блока является режимом горизонтального предсказания, выведение выборки предсказания текущего блока на основании первой опорной выборки, расположенной вместе с направлением горизонтального предсказания относительно местоположения выборки предсказания, причем первая опорная выборка расположена с левой стороны левой границы текущего блока, и фильтрацию выборки предсказания на основании второй опорной выборки, когда выборка предсказания является смежной с верхней границей текущего блока, причем вторая опорная выборка расположена с верхней стороны верхней границы текущего блока; и
кодирование информации о картинке посредством кодирования информации о предсказании, причем информация о предсказании включает в себя информацию режима предсказания для режима внутреннего предсказания.
8. Устройство кодирования для кодирования информации о картинке, причем устройство содержит:
модуль предсказания, выполненный с возможностью определения режима внутреннего предсказания для текущего блока картинки;
при этом, когда определенный режим внутреннего предсказания для текущего блока является режимом горизонтального предсказания, модуль предсказания выполнен с возможностью выведения выборки предсказания текущего блока на основании первой опорной выборки, расположенной вместе с направлением горизонтального предсказания относительно местоположения выборки предсказания, причем первая опорная выборка расположена с левой стороны левой границы текущего блока, и фильтрации выборки предсказания на основании второй опорной выборки, когда выборка предсказания является смежной с верхней границей текущего блока, причем вторая опорная выборка расположена с верхней стороны верхней границы текущего блока; и
модуль энтропийного кодирования, выполненный с возможностью кодирования информации о картинке посредством кодирования информации о предсказании, причем эта информация о предсказании включает в себя информацию для режима внутреннего предсказания.
9. Машиночитаемый носитель, хранящий кодированную информацию, побуждающую устройство декодирования выполнять способ по п. 1.
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
СПОСОБ И УСТРОЙСТВО УПРАВЛЕНИЯ КОДИРОВАНИЕМ С ВНУТРЕННИМ ПРЕДСКАЗАНИЕМ, ПРОГРАММА ДЛЯ НИХ И ЗАПОМИНАЮЩИЙ НОСИТЕЛЬ, КОТОРЫЙ ХРАНИТ ПРОГРАММУ | 2007 |
|
RU2407221C1 |
Авторы
Даты
2019-05-21—Публикация
2017-07-13—Подача