Способ внутреннего предсказания и кодер и декодер, использующие его

Иллюстрации

Показать все

Изобретение относится к средствам кодирования видео с предсказанием. Техническим результатом является повышение эффективности сжатия видео. В способе выводят режим предсказания для текущего блока, генерируют блок предсказания, включающий выборки предсказания, посредством выведения выборки предсказания для текущего блока на основе режима предсказания. В способе режимом предсказания является режим углового предсказания для внутреннего предсказания, генерирование блока предсказания включает фильтрацию в отношении выборки предсказания, не расположенной в направлении режима углового предсказания среди выборок предсказания, смежных с левой границей блока предсказания, выборок предсказания, смежных с верхней границей блока предсказания, фильтрация выборки предсказания выполняется на основании опорной выборки, не расположенной в направлении режима углового предсказания. 10 з.п. ф-лы, 14 ил., 2 табл.

Реферат

ОБЛАСТЬ ТЕХНИКИ

[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]

Таблица 1
Режим внутреннего предсказания Ассоциированные названия
0 Intra_Planar
1 Intra_DC
2 … 34 Intra_Angular
35 Intra_FromLima

[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] Посредством вывода значений предсказанных выборок на основе опорных выборок, расположенных в направлении предсказания, и з