ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к технологии кодирования и декодирования изображения и, в частности, к способу и устройству для кодирования/декодирования внутреннего предсказания.
УРОВЕНЬ ТЕХНИКИ
[0002] В последнее время в различных областях применения растет спрос на изображения высокого разрешения и высокого качества, такие как изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD), и поэтому разрабатываются высокоэффективные методики сжатия изображения.
[0003] Что касается технологии сжатия изображения, могут иметь место различные технологии, такие как технология предсказания, осуществляемого между изображениями, в которой значение пикселя, включенного в текущий кадр, предсказывается на основе кадра до или после текущего кадра, технология внутреннего предсказания, в которой значение пикселя, включенного в текущий кадр, предсказывается с использованием информации пикселя в текущем кадре, и технология энтропийного кодирования для присвоения короткого кода информации, имеющей высокую частоту появления, и присвоения длинного кода информации, имеющей низкую частоту появления. Эти технологии сжатий изображения можно использовать для эффективного сжатия и передачи или хранения данных изображения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Техническая задача
[0004] Настоящее изобретение относится к технологии кодирования и декодирования изображения и, в частности, к способу и устройству для кодирования/декодирования внутреннего предсказания.
Техническое решение
[0005] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, может быть получен режим внутреннего предсказания текущего блока, среди множества линий пикселей может быть определена линия пикселей для внутреннего предсказания текущего блока, и на основе режима внутреннего предсказания и определенной линии пикселей может быть выполнено внутреннее предсказание текущего блока.
[0006] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, может быть выполнена фильтрация в отношении первого опорного пикселя определенной линии пикселей.
[0007] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, фильтрация может быть выборочно выполнена на основе первого флага, указывающего, подвергался ли фильтрации первый опорный пиксель для внутреннего предсказания.
[0008] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, первый флаг может быть получен из устройства для декодирования на основе параметра кодирования текущего блока, и параметр кодирования может содержать по меньшей мере одно из размера блока, типа компоненты, режима внутреннего предсказания или того, применялось ли внутреннее предсказание в элементах подблоков.
[0009] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, может быть выполнена коррекция в отношении пикселя предсказания текущего блока в соответствии с внутренним предсказанием.
[0010] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, операция выполнения коррекции может дополнительно включать: определение по меньшей мере одного из второго опорного пикселя или взвешенного значения для коррекции на основе положения пикселя предсказания текущего блока.
[0011] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, коррекция может быть выборочно выполнена с учетом по меньшей мере одного из положения линии пикселей текущего блока, режима внутреннего предсказания текущего блока или того, выполнялось ли внутреннее предсказание в элементах подблоков текущего блока.
[0012] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, внутренне предсказание может быть выполнено в элементах подблоков текущего блока, а подблоки могут быть определены на основе по меньшей мере одного из второго флага, указывающего, выполнять ли разделение, информации о направлении разделения или информации о номере раздела.
[0013] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, режим внутреннего предсказания может быть получен на основе предварительно определенного режима по умолчанию или множества наиболее вероятных режимов(MPM)-кандидатов.
Технический эффект
[0014] Согласно настоящему изобретению, за счет предсказания в элементах подблоков можно повысить эффективность кодирования/декодирования.
[0015] Согласно настоящему изобретению, за счет внутреннего предсказания на основе множества линий пикселей можно повысить эффективность кодирования/декодирования внутреннего предсказания.
[0016] Согласно настоящему изобретению, за счет выполнения фильтрации в отношении опорного пикселя можно повысить эффективность кодирования/декодирования внутреннего предсказания.
[0017] Согласно настоящему изобретению, за счет коррекции пикселя внутреннего предсказания можно повысить эффективность кодирования/декодирования внутреннего предсказания.
[0018] Согласно настоящему изобретению, за счет получения режима внутреннего предсказания на основе режима по умолчанию или MPM-кандидата можно повысить эффективность кодирования/декодирования режима внутреннего предсказания.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
[0019] На фиг. 1 представлена структурная схема устройства для кодирования изображения согласно варианту осуществления настоящего изобретения.
[0020] На фиг. 2 представлена структурная схема устройства для декодирования изображения согласно варианту осуществления настоящего изобретения.
[0021] На фиг. 3 представлена принципиальная схема, изображающая древовидную форму блока.
[0022] На фиг. 4 представлена принципиальная схема, изображающая типизированную форму блока.
[0023] На фиг. 5 представлена принципиальная схема, изображающая различные формы блоков, которые могут быть получены при помощи секции разделения блока согласно настоящему изобретению.
[0024] На фиг. 6 представлена принципиальная схема для разъяснения древовидного разделения согласно варианту осуществления настоящего изобретения.
[0025] На фиг. 7 представлена принципиальная схема для разъяснения древовидного разделения согласно варианту осуществления настоящего изобретения.
[0026] На фиг. 8 изображен способ разделения блока согласно варианту осуществления настоящего изобретения.
[0027] На фиг. 9 представлена принципиальная схема, изображающая режим внутреннего предсказания, предопределенный в устройстве для кодирования/декодирования изображения.
[0028] На фиг. 10 изображен пример сравнения пикселей из разных цветовых пространств с целью получения информации о корреляции.
[0029] На фиг. 11 представлена принципиальная схема для разъяснения конфигурации опорных пикселей для внутреннего предсказания.
[0030] На фиг. 12 представлена принципиальная схема для разъяснения диапазона опорного пикселя для внутреннего предсказания.
[0031] На фиг. 13 представлена схема, на которой изображен блок, смежный с текущим блоком, для генерирования блока предсказания.
[0032] На фиг. 14 и 15 представлены некоторые примеры подтверждения информации о разделении каждого блока.
[0033] На фиг. 16 представлена принципиальная схема, изображающая различные ситуации разделения блока.
[0034] На фиг. 17 изображен пример разделения блока согласно варианту осуществления настоящего изобретения.
[0035] На фиг. 18 изображены различные примеры групп режимов-кандидатов внутреннего предсказания для настройки блоков, генерирующих информацию о предсказании (блоками предсказания в данном примере являются блоки 2N×N).
[0036] На фиг. 19 изображены различные примеры групп режимов-кандидатов внутреннего предсказания для настройки блоков, генерирующих информацию о предсказании (блоками предсказания в данном примере являются блоки N×2N).
[0037] На фиг. 20 изображен пример разделения блока согласно варианту осуществления настоящего изобретения.
[0038] На фиг. 21 и 22 изображены различные примеры групп режимов-кандидатов внутреннего предсказания для настройки блоков, генерирующих информацию о предсказании.
[0039] На фиг. 23-25 изображены примеры генерирования блока предсказания в соответствии с режимом предсказания смежных блоков.
[0040] На фиг. 26 представлена принципиальная схема взаимосвязи между текущим блоком и смежным блоком.
[0041] На фиг. 27 и 28 изображено внутреннее предсказание с учетом направленности режима предсказания.
[0042] На фиг. 29 представлена принципиальная схема для разъяснения конфигурации опорных пикселей для внутреннего предсказания.
[0043] На фиг. 30-35 представлены принципиальные схемы в отношении конфигурации опорных пикселей.
ПОДРОБНОЕ ОПИСАНИЕ
[0044] Способ и устройство для внутреннего предсказания согласно настоящему изобретению выполнены с возможностью получения режима внутреннего предсказания текущего блока, определения среди множества линий пикселей линии пикселей для внутреннего предсказания текущего блока и выполнения внутреннего предсказания текущего блока на основе режима внутреннего предсказания и определенной линии пикселей.
[0045] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, первый опорный пиксель из определенной линии пикселей может быть подвергнут фильтрации.
[0046] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, фильтрация может быть выборочно выполнена на основе первого флага, указывающего, подвергался ли фильтрации первый опорный пиксель для внутреннего предсказания.
[0047] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, первый флаг может быть получен из устройства для декодирования на основе параметра кодирования текущего блока, и параметр кодирования может содержать по меньшей мере одно из размера блока, типа компоненты, режима внутреннего предсказания или того, применялось ли внутреннее предсказание в элементах подблоков.
[0048] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, может быть выполнена коррекция в отношении пикселя предсказания текущего блока в соответствии с внутренним предсказанием.
[0049] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, операция коррекции может дополнительно включать: определение по меньшей мере одного из второго опорного пикселя или взвешенного значения для коррекции на основе положения пикселя предсказания текущего блока.
[0050] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, операция коррекции может быть выборочно выполнена с учетом по меньшей мере одного из положения линии пикселей текущего блока, режима внутреннего предсказания текущего блока или того, выполнялось ли внутреннее предсказание в элементах подблоков текущего блока.
[0051] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, внутренне предсказание может быть выполнено в элементах подблоков текущего блока, а подблоки могут быть определены на основе по меньшей мере одного из второго флага, указывающего, выполнять ли разделение, информации о направлении разделения или информации о номере раздела.
[0052] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, режим внутреннего предсказания может быть получен на основе предварительно определенного режима по умолчанию или множества MPM-кандидатов.
[0053] В настоящем изобретении могут быть выполнены различные модификации и могут быть предоставлены различные варианты осуществления, и конкретные варианты осуществления будут подробно описаны со ссылкой на сопроводительные графические материалы. Однако следует понимать, что настоящее изобретение не ограничено этими конкретными вариантами осуществления, но должно включать все изменения, эквиваленты и замены, которые находятся в пределах сущности и объема настоящего изобретения.
[0054] Такие термины, как первый, второй, A и B, могут использоваться для описания различных элементов, но эти элементы не следует ограничивать такими терминами. Эти термины предназначены только для отличения одного элемента от другого. Например, первый элемент может быть назван вторым элементом, и, аналогично, второй элемент может быть назван первым элементом без выхода за пределы объема настоящего изобретения. Термин «и/или» может включать в себя комбинацию множества связанных перечисленных объектов или любого из множества связанных перечисленных объектов.
[0055] Следует понимать, что, если элемент называется «соединенным» или «связанным» с другим элементом, элемент может быть непосредственно соединен или связан с другим элементом. Однако следует понимать, что между ними может присутствовать еще один элемент. С другой стороны, если элемент называется «непосредственно соединенным» или «непосредственно связанным» с другим элементом, следует понимать, что между ними нет другого элемента.
[0056] Термины, используемые в настоящей заявке, используются только для описания конкретных вариантов осуществления и не предназначены для ограничения настоящего изобретения. Формы единственного числа включают в себя формы множественного числа, если контекст явно не указывает иное. В настоящей заявке термин, такой как «включать» или «иметь», предназначен для обозначения наличия признаков, чисел, этапов, действий, компонентов, частей или их комбинаций, описанных в описании, и следует понимать, что этот термин не исключает возможности наличия или добавления одного или более других признаков или чисел, этапов, действий, компонентов, частей или их комбинаций.
[0057] Если не указано иное, все используемые в данном документе термины, включая технические или научные термины, означают то же, что обычно понимается специалистом в данной области техники, к которой относится настоящее изобретение. Такие термины, как те, которые определены в обычно используемом словаре, должны интерпретироваться как соответствующие значениям соответствующей технологии и не должны интерпретироваться как идеальные или чрезмерно формальные значения, если они явно не определены в настоящей заявке.
[0058] Устройства для кодирования и декодирования видео могут представлять собой пользовательские терминалы, такие как персональный компьютер (PC), ноутбук, персональный цифровой ассистент (PDA), портативный мультимедийный проигрыватель (PMP), игровую консоль PlayStation Portable (PSP), терминал беспроводной связи, смартфон, телевизор, устройство виртуальной реальности (VR), устройство дополненной реальности (AR), устройство смешанной реальности (MR), наголовный дисплей (HMD) и умные очки, или серверные терминалы, такие как сервер приложений и сервер услуг, и могут включать в себя различные устройства, такие как устройство связи, содержащее модем связи, для осуществления связи с различными устройствами или сетями проводной/беспроводной связи, запоминающее устройство для хранения различных программ и данных для кодирования или декодирования изображения или для выполнения предсказания, осуществляемого между изображениями или внутри изображения, для кодирования или декодирования, процессор для исполнения программы для выполнения операций вычисления и управления и т.д. Кроме того, изображение, закодированное как битовый поток с помощью устройства для кодирования изображения, может быть передано на устройство для декодирования изображения в реальном времени или не в реальном времени через проводную или беспроводную сеть, такую как Интернет, локальная сеть, беспроводная сеть LAN, сеть WiBro или сеть мобильной связи, или через различные интерфейсы связи, такие как кабель и универсальная последовательная шина (USB), декодировано устройством для декодирования изображения и восстановлено и воспроизведено как изображение.
[0059] Кроме того, изображение, закодированное как битовый поток с помощью устройства для кодирования изображения, может быть передано от устройства для кодирования на устройство для декодирования посредством машиночитаемого носителя данных.
[0060] Вышеописанные устройство для кодирования изображения и устройство для декодирования изображения, соответственно, могут представлять собой отдельные устройства. Однако устройства могут быть выполнены как одно устройство для кодирования/декодирования изображения согласно реализации. В этом случае некоторые компоненты устройства для кодирования изображения представляют собой по существу такие же технические элементы, как некоторые компоненты устройства для декодирования изображения, и могут быть реализованы по меньшей мере с такой же конструкцией или выполнять по меньшей мере такую же функцию, как и некоторые компоненты устройства для декодирования изображения.
[0061] Следовательно, избыточные описания соответствующих технических элементов будут опущены в подробном описании следующих технических элементов и принципов их работы.
[0062] Кроме того, поскольку устройство для декодирования изображения соответствует вычислительному устройству, которое применяет способ кодирования изображения, выполняемый устройством для кодирования изображения, к декодированию, следующее описание будет сосредоточено на устройстве для кодирования изображения.
[0063] Вычислительное устройство может содержать запоминающее устройство, на котором хранится программа или модуль программного обеспечения, реализующий способ кодирования изображения и/или способ декодирования изображения, и процессор, связанный с запоминающим устройством для выполнения программы. Кроме того, устройство для кодирования изображения может называться кодером, а устройство для декодирования изображения может называться декодером.
[0064] Обычно изображение может быть выполнено как ряд неподвижных изображений, причем эти неподвижные изображения можно классифицировать по элементам группы кадров (GOP), и каждое неподвижное изображение может называться кадром. В этом случае кадр может представлять одно из фрейма или поля в сигнале с прогрессивной разверткой или сигнале с чересстрочной разверткой, и изображение может быть выражено как «фрейм», если кодирование/декодирование выполняется в элементах фреймов, и выражено как «поле», если кодирование/декодирование выполняется в элементах полей. В настоящем изобретении рассматривается и описывается сигнал с прогрессивной разверткой. Однако настоящее изобретение может быть применено и к сигналу с чересстрочной разверткой. В концепции более высокого уровня могут существовать такие элементы, как GOP и последовательность, и каждый кадр может быть разделен на предварительно определенные области, такие как срезы, плитки и блоки. Кроме того, одна GOP может содержать элементы, такие как кадр I, кадр P и кадр B. Кадр I может относиться к кадру, который сам закодирован/декодирован без использования опорного кадра, а кадр P и кадр B могут относиться к кадрам, которые закодированы/декодированы за счет выполнения такого процесса, как оценка движения и компенсация движения, с использованием опорного кадра. В целом, кадр I и кадр P могут использоваться в качестве опорных кадров в случае кадра P, и кадр I и кадр P могут использоваться в качестве опорных кадров в случае кадра B. Однако вышеприведенное определение может быть изменено посредством настройки кодирования/декодирования.
[0065] В данном случае кадр для кодирования/декодирования называется опорным кадром, а относящийся к нему блок или пиксель называется опорным блоком или опорным пикселем. Кроме того, опорные данные могут представлять собой не только значение пикселя в пространственной области, но также значение коэффициента в частотной области и различные типы информации о кодировании/декодировании, сгенерированной и определенной во время процесса кодирования/декодирования. Их примеры могут представлять собой информацию, связанную с внутренним предсказанием, или информацию, связанную с движением в секции предсказания, информацию, связанную с преобразованием в секции преобразования/секции обратного преобразования, информацию, связанную с квантованием в секции квантования/секции обратного квантования, информацию, связанную с кодированием/декодированием (контекстную информацию) в секции кодирования/секции декодирования, информацию, связанную с фильтром в секции фильтра в контуре, и т.д.
[0066] Наименьший элемент, составляющий изображение, может представлять собой пиксель, и количество битов, используемых для представления одного пикселя, называется битовой глубиной. В целом, битовая глубина может составлять 8 битов, и согласно настройкам кодирования может поддерживаться битовая глубина более 8 битов. В качестве битовой глубины может поддерживаться по меньшей мере одна битовая глубина согласно цветовому пространству. Кроме того, по меньшей мере одно цветовое пространство может быть выполнено в соответствии с форматом цвета изображения. Один или более кадров, имеющих определенный размер, или один или более кадров, имеющих разные размеры, могут быть предусмотрены согласно формату цвета. Например, в случае YCbCr 4:2:0 могут быть предусмотрены одна компонента яркости (Y в этом примере) и две цветоразностные компоненты (Cb/Cr в этом примере). В этом примере компонентное соотношение цветоразностных компонент и компоненты яркости может представлять собой соотношение 1:2 в ширину и высоту. В качестве другого примера, в случае 4:4:4 ширина и высота могут быть такими же в компонентном соотношении. В случае наличия одного или более цветовых пространств, как в вышеприведенном примере, кадр может быть разделен на соответствующие цветовые пространства.
[0067] В настоящем изобретении описание будет приведено на основе некоторых цветовых пространств (Y в этом примере) некоторых форматов цвета (YCbCr в этом примере), и такое же или аналогичное применение (настройка, зависящая от конкретного цветового пространства) может быть применено к другим цветовым пространствам (Cb и Cr в этом примере) согласно формату цвета. Однако в каждое цветовое пространство могут быть внесены некоторые отличия (не зависящие от настройки для конкретного цветового пространства). Другими словами, настройка, зависящая от каждого цветового пространства, может означать наличие настройки, связанной с компонентным соотношением каждой компоненты, или зависящей от него (например, 4:2:0, 4:2:2, 4:4:4 и т.д.), а независимая настройка для каждого цветового пространства может означать наличие настройки только соответствующего цветового пространства, не учитывающей или не зависящей от компонентного соотношения каждой компоненты. В настоящем изобретении в зависимости от кодера/декодера некоторые конфигурации могут иметь независимые или зависимые настройки.
[0068] Информация о настройках или элемент синтаксиса, необходимый в процессе кодирования изображения, может быть определен на уровне элементов, таком как видео, последовательность, кадр, срез, плитка, блок и т.д., который включен в битовый поток в элементах, таких как набор параметров видео (VPS), набор параметров последовательности (SPS), набор параметров кадра (PPS), заголовок среза, заголовок плитки, заголовок блока и т.д., и передается в кодер, и декодер может выполнять анализ в элементах того же уровня для восстановления информации о настройках, переданной от кодера, и использовать восстановленную информацию о настройках в процессе декодирования изображения. Кроме того, связанная информация может передаваться как битовый поток в виде информации для дополнительной оптимизации (SEI) или метаданных, и она может быть проанализирована и использована. Каждый набор параметров имеет уникальное значение ID (идентификатора), а нижний набор параметров может иметь значение ID верхнего набора параметров, на который следует ссылаться. Например, нижний набор параметров может относиться к информации верхнего набора параметров, имеющего такое же значение ID среди одного или более верхних наборов параметров. Среди примеров различных элементов, упомянутых выше, когда один элемент включает один или более других элементов, соответствующий элемент может называться верхним элементом, а включенный элемент может называться нижним элементом.
[0069] Информация о настройках, сгенерированная в элементе, может включать содержимое в отношении независимой настройки для каждого элемента или включать содержимое в отношении настройки, зависящей от предыдущего, последующего или верхнего элемента. В данном случае зависимую настройку можно понимать как указывающую информацию о настройках соответствующего элемента в качестве информации флага, указывающей, что соблюдается настройка предыдущего, последующего или верхнего элемента (например, 1-битовый флаг, настройка соблюдается в случае 1 и не соблюдается в случае 0). Описание информации о настройках в настоящем изобретении будет сосредоточено на примере независимой настройки. Однако может быть включен пример добавления или замены содержимого, зависящего от информации о настройках предыдущего или последующего элемента относительно текущего элемента или верхнего элемента.
[0070] На фиг. 1 представлена структурная схема устройства для кодирования изображения согласно варианту осуществления настоящего изобретения. На фиг. 2 представлена структурная схема устройства для декодирования изображения согласно варианту осуществления настоящего изобретения.
[0071] Со ссылкой на фиг. 1, устройство для кодирования изображения может содержать секцию предсказания, секцию вычитания, секцию преобразования, секцию квантования, секцию обратного квантования, секцию обратного преобразования, секцию сложения, секцию фильтра в контуре, запоминающее устройство и/или секцию кодирования. Некоторые из вышеперечисленных компонентов, необязательно, могут быть включены, некоторые или все из компонентов могут быть включены выборочно по мере необходимости, и могут быть включены некоторые другие конфигурации, не изображенные на фигуре.
[0072] Со ссылкой на фиг. 2, устройство для декодирования изображения может содержать секцию декодирования, секцию предсказания, секцию обратного квантования, секцию обратного преобразования, секцию сложения, секцию фильтра в контуре и/или запоминающее устройство. Некоторые из вышеперечисленных компонентов, необязательно, могут быть включены, некоторые или все из компонентов могут быть включены выборочно по мере необходимости, и могут быть включены некоторые другие конфигурации, не изображенные на фигуре.
[0073] Устройство для кодирования изображения и устройство для декодирования изображения могут представлять собой отдельные устройства, однако, в соответствии с реализацией, могут быть составлены как устройство для кодирования/декодирования изображения. В этом случае некоторые конфигурации устройства для кодирования изображения представляют собой по существу такие же технические элементы, как некоторые компоненты устройства для декодирования изображения, и могут быть реализованы по меньшей мере с такой же конструкцией или выполнять по меньшей мере такую же функцию, как и некоторые компоненты устройства для декодирования изображения. Следовательно, избыточные описания соответствующих технических элементов будут опущены в подробном описании следующих технических элементов и принципов их работы. Поскольку устройство для декодирования изображения соответствует вычислительному устройству, которое применяет способ кодирования изображения, выполняемый устройством для кодирования изображения, к декодированию, следующее описание будет сосредоточено на устройстве для кодирования изображения. Устройство для кодирования изображения может называться кодером, а устройство для декодирования видео может называться декодером.
[0074] Секция предсказания может включать секцию внутреннего предсказания, которая выполняет внутреннее предсказание, и секцию предсказания, осуществляемого между изображениями, которая выполняет предсказание, осуществляемое между изображениями. При внутреннем предсказании режим внутреннего предсказания может быть определен за счет конфигурирования пикселя блока, смежного с текущим блоком, в качестве опорного пикселя, и с использованием режима внутреннего предсказания может быть сгенерирован блок предсказания. В предсказании, осуществляемом между изображениями, блок предсказания может быть сгенерирован за счет определения информации о движении текущего блока с использованием одного или более опорных изображений и выполнения компенсации движения с использованием информации о движении. Для использования в отношении текущего блока может быть определено одно из внутреннего предсказания и предсказания, осуществляемого между изображениями (элемент кодирования или элемент предсказания), и может быть определена конкретная информация (например, режим внутреннего предсказания, вектор движения, опорное видео и т.д.) согласно каждому способу предсказания. В этом случае элемент обработки, в котором выполняется предсказание, и элемент обработки, в котором определяются способ предсказания и конкретное содержимое, могут быть определены согласно настройке кодирования/декодирования. Например, способ предсказания, режим предсказания и т.д. определяются в элементе предсказания (или элементе кодирования), и предсказание выполняется в элементе блока предсказания (или элементе кодирования, или элементе преобразования).
[0075] Секция вычитания генерирует остаточный блок за счет вычитания блока предсказания из текущего блока. То есть секция вычитания вычисляет разницу между значением пикселя каждого пикселя в текущем блоке, который должен быть закодирован, и предсказанным значением пикселя каждого пикселя в блоке предсказания, который сгенерирован посредством секции предсказания, для генерирования остаточного блока, который представляет собой остаточный сигнал в изображении.
[0076] Секция преобразования может преобразовывать сигнал, принадлежащий пространственной области, в сигнал, принадлежащий частотной области, и сигнал, полученный в результате процесса преобразования, называется преобразованным коэффициентом. Например, блок преобразования, содержащий преобразованный коэффициент, может быть получен за счет преобразования остаточного блока, имеющего остаточный сигнал, принятый от секции вычитания, и входной сигнал определяется согласно настройке кодирования и не ограничен остаточным сигналом.
[0077] Секция преобразования может преобразовывать остаточный блок с использованием такой схемы преобразования, как преобразование Адамара, дискретное синусное преобразование (преобразование на основе DST) или дискретное косинусное преобразование (преобразование на основе DCT). Однако схема преобразования не ограничена этим, и можно использовать различные схемы преобразования, полученные путем улучшения и модификации этой схемы преобразования.
[0078] Например, при преобразовании может поддерживаться по меньшей мере одна схема преобразования, и в каждой схеме преобразования может поддерживаться по меньшей мере одна подробная схема преобразования. В этом случае по меньшей мере одна подробная схема преобразования может представлять собой схему преобразования, в которой часть базисного вектора конфигурируется по-разному в каждом способе преобразования. Например, как технологии преобразования могут поддерживаться преобразования на основе DST и на основе DCT. Для DST могут поддерживаться такие подробные схемы преобразования, как DST-I, DST-II, DST-III, DST-V, DST-VI, DST-VII и DST-VIII. Для DCT могут поддерживаться такие подробные схемы преобразования, как DCT-I, DCT-II, DCT-III, DCT-V, DCT-VI, DCT-VII и DCT-VIII.
[0079] Одно из преобразований (например, схема преобразования и подробная схема преобразования) может быть задано как базовая схема преобразования. Поэтому могут поддерживаться дополнительные схемы преобразования (например, множество схем преобразования и множество подробных схем преобразования). Можно определить поддержку дополнительной схемы преобразования в элементах последовательности, кадра, среза, плитки и т.д. так, что в данном элементе может генерироваться связанная информация, и, если поддерживается дополнительная схема преобразования, для генерирования связанной информации в таких элементах, как блоки, может быть определена информация о выборе схемы преобразования.
[0080] Преобразование может выполняться в горизонтальном/вертикальном направлении. Например, используя базисный вектор при преобразовании, полное двумерное преобразование может быть выполнено за счет выполнения одномерного преобразования в горизонтальном направлении и выполнения одномерного преобразования в вертикальном направлении, тем самым преобразуя значение пикселя в пространственной области в значение пикселя в частотной области.
[0081] Кроме того, преобразование в горизонтальном/вертикальном направлении может выполняться адаптивно. Подробнее, выполнение адаптивного преобразования может быть определено в соответствии с по меньшей мере одной настройкой кодирования. Например, в случае внутреннего преобразования, если режим преобразования представляет собой горизонтальный режим, в горизонтальном направлении может применяться DCT-I, и в вертикальном направлении может применяться DST-I. Если режим преобразования представляет собой вертикальный режим, в горизонтальном направлении может применяться DST-VI, и в вертикальном направлении может применяться DCT-VI. В случае режима диагонально вниз влево, в горизонтальном направлении может применяться DCТ-II, и в вертикальном направлении может применяться DCT-V. В случае режима диагонально вниз вправо, в горизонтальном направлении может применяться DSТ-I, и в вертикальном направлении может применяться DST-VI.
[0082] Размер и форма каждого блока преобразования могут быть определены в соответствии со стоимостью кодирования каждым кандидатом размера и формы блока преобразования, и может кодироваться такая информация, как определенные данные изображения каждого блока преобразования и определенные размер и форма каждого блока преобразования.
[0083] Квадратное преобразование в форме преобразования может быть задано как базовая форма преобразования, и могут поддерживаться дополнительные формы преобразования (например, прямоугольные формы). Может быть определена поддержка дополнительных форм преобразования в элементах последовательности, кадра, среза, плитки и т.д., в данном элементе может генерироваться связанная информация, и для генерирования связанной информации в таких элементах, как блоки, может быть определена информация о выборе формы преобразования.
[0084] Кроме того, в соответствии с информацией о кодировании может быть определена поддержка формата блока преобразования. В этом случае информация о кодировании может соответствовать типу среза, режиму кодирования, размеру и форме блока, режиму разделения блока и т.д. То есть одна форма преобразования может поддерживаться в соответствии с по меньшей мере одним видом информации о кодировании, и в соответствии с по меньшей мере одним видом информации о кодировании может поддерживаться множество форм преобразования. Первый случай может представлять собой неявный случай, и последний случай может представлять собой явный случай. В явном случае может быть сгенерирована и включена в битовый поток адаптивная информация о выборе, указывающая лучшую группу кандидатов среди множества групп кандидатов. Понятно, что в настоящем изобретении, включая настоящий пример, при генерировании информации о кодировании в явном виде соответствующая информация включается в битовый поток в различных элементах, и для восстановления декодированной информации декодер анализирует связанную информацию в различных элементах. Кроме того, понятно, что при обработке информации о кодировании/декодировании в неявном виде кодер и декодер выполняют обработку при помощи одного и того же способа и правила.
[0085] В качестве примера, поддержка преобразования прямоугольных форм может быть определена в соответствии с типом среза. В случае среза I поддерживаемым преобразованием может являться квадратное преобразование, а в случае срезов Р/В преобразование может представлять собой преобразование квадратной или прямоугольной формы.
[0086] В качестве примера, поддержка преобразования прямоугольных форм может быть определена в соответствии с режимом кодирования. В случае внутреннего предсказания поддерживаемой формой преобразования может являться преобразование квадратной формы, а в случае предсказания, осуществляемого между изображениями, поддерживаемое преобразование может представлять собой преобразование квадратной или прямоугольной формы.
[0087] В качестве примера, поддержка преобразования прямоугольных форм может быть определена в соответствии с размером и типом блока. Форма преобразования, поддерживаемая в блоке предварительно определенного или большего размера, может представлять собой преобразование квадратной формы, и форма преобразования, поддерживаемая в блоке предварительно определенного или меньшего размера, может представлять собой преобразование квадратной или прямоугольной формы.
[0088] В качестве примера, поддержка преобразования прямоугольных форм может быть определена в соответствии с режимом разделения блока. Если блок, подлежащий преобразованию, представляет собой блок, полученный при помощи режима разделения на основе четверичного дерева, поддерживаемая форма преобразования может представлять собой преобразование квадратной формы, и, если блок представляет собой блок, полученный при помощи режима разделения на основе двоичного дерева, поддерживаемая форма преобразования может представлять собой преобразование квадратной или прямоугольной формы.
[0089] Приведенный выше пример представляет собой пример поддержки формы преобразования в соответствии с одним фрагментом информации о кодировании, а для участия в настройке поддерживаемых дополнительных форм преобразования может быть скомбинировано множество фрагментов информации. Приведенный выше пример не ограничен приведенными выше примерами, но направлен на примеры, в которых дополнительные формы преобразования поддерживаются в соответствии с различными настройками кодирования, и могут быть реализованы различные примеры модификаций.
[0090] В соответствии с настройками кодирования или характеристиками изображения, процесс преобразования может быть опущен. Например, процесс преобразования (включая обратный процесс) может быть опущен в соответствии с настойками кодирования (в данном примере предполагаются условия сжатия без потерь). В другом примере процесс преобразования может быть опущен, если выполнение сжатия путем преобразования не применяется в соответствии с характеристиками изображения. В этом случае опущенное преобразование может представлять собой элемент полностью, или может быть опущен один из горизонтального и вертикального элементов, и может быть определено, поддерживается ли такое опущение в соответствии с размером и формой блока.
[0091] Например, в настройке, при которой опущение горизонтального и вертикального преобразований связаны, если флаг опущения преобразования равен 1, преобразование не выполняется в горизонтальном и вертикальном направлениях, и, если флаг равен 0, преобразование выполняется в горизонтальном и вертикальном направлениях. В настройке, где операции с горизонтальным и вертикальным преобразованиями выполняются независимо, если первый флаг опущения преобразования равен 1, преобразование не выполняется в горизонтальном направлении, и, если флаг равен 0, преобразование выполняется в горизонтальном направлении. Если второй флаг опущения преобразования равен 1, преобразование не выполняется в вертикальном направлении, и, если флаг равен 0, преобразование выполняется в вертикальном направлении.
[0092] В случае если размер блока соответствует диапазону А, опущение преобразования может поддерживаться, а в случае диапазона B опущение преобразования может не поддерживаться. Например, если горизонтальная длина блока больше М, или вертикальная длина блока больше N, флаг опущения преобразования не может поддерживаться, и, если горизонтальная длина блока меньше m, или вертикальная длина блока меньше n, флаг опущения преобразования может поддерживаться. M(m) и N(n) могут быть одинаковыми или разными. Настройки, связанные с преобразованием, могут быть определены в элементах последовательности, кадра, среза и т.д.
[0093] Если поддерживаются дополнительные схемы преобразования, настройки схемы преобразования могут быть определены в соответствии с по меньшей мере одним фрагментом информации о кодировании. В этом случае информация о кодировании может соответствовать типу среза, режиму кодирования, размеру и форме блока, режиму предсказания и т.д.
[0094] В качестве примера, поддержка схемы преобразования может быть определена в соответствии с режимом кодирования. Для внутреннего предсказания поддерживаемыми схемами преобразования могут являться DCT-I, DCT-III, DCT-VI, DST-II и DST-III, и для предсказания, осуществляемого между изображениями, поддерживаемыми схемами преобразования могут являться DCT-II, DCT-III и DST-III.
[0095] В качестве примера, поддержка схемы преобразования может быть определена в соответствии с типом среза. В случае среза I поддерживаемыми схемами преобразования могут являться DCT-I, DCT-II и DCT-III, в случае среза Р поддерживаемыми схемами преобразования могут являться DCT-V, DST-V и DST-VI, и в случае среза B поддерживаемыми схемами преобразования могут являться DCT-I, DCT-II и DST-III.
[0096] В качестве примера, поддержка схемы преобразования может быть определена в соответствии с режимом предсказания. Схемами преобразования, поддерживаемыми в режиме A предсказания, могут являться DCT-1 и DCT-II, схемами преобразования, поддерживаемыми в режиме B предсказания, могут являться DCT-1 и DST-1, и схемой преобразования, поддерживаемой в режиме С предсказания, может являться DCT-I. В этом случае режимы А и B предсказания могут представлять собой направленные режимы, а режим C предсказания может представлять собой ненаправленный режим.
[0097] В качестве примера, поддержка схемы преобразования может быть определена в соответствии с размером и типом блока. Схемой преобразования, поддерживаемой в отношении блоков с размерами, которые больше определенного размера, может являться DCT-II, схемами преобразования, поддерживаемыми в отношении блоков с размерами, которые меньше определенного размера, могут являться DCT-II и DST-V, и схемами преобразования, поддерживаемыми в отношении блоков с размерами, которые больше и меньше определенного размера, могут являться DCT-I, DCT-II и DST-I. Кроме того, схемами преобразования, поддерживаемыми в квадратной форме, могут являться DCT-1 и DCT-II, и схемами преобразования, поддерживаемыми в прямоугольной форме, могут являться DCT-1 и DST-1.
[0098] Приведенные выше примеры представляют собой примеры поддержки схемы преобразования в соответствии с одним фрагментом информации о кодировании, а для участия в настройке поддерживаемых дополнительных технологий преобразования может быть скомбинировано множество фрагментов информации. Примеры не ограничены приведенными выше примерами, но также могут быть преобразованы в другие примеры. Кроме того, секция преобразования может передавать информацию, необходимую для генерирования блока преобразования, в секцию кодирования с целью кодирования информации, включения информация в битовый поток и передачи в декодер, и секция декодирования декодера анализирует информацию и использует информацию для процесса обратного преобразования.
[0099] Секция квантования выполнена с возможностью квантования входного сигнала, и сигнал, полученный в результате процесса квантования, называется квантованным коэффициентом. Например, блок квантования с квантованным коэффициентом может быть получен путем квантования остаточного блока, содержащего остаточный коэффициент преобразования, принятый из секции преобразования. В этом случае входной сигнал определяется в соответствии с настройкой кодирования, которая не ограничена остаточным коэффициентом преобразования.
[00100] Секция квантования выполнена с возможностью квантования преобразованного остаточного блока с использованием технологии квантования, такой как равномерное пороговое квантование с мертвой зоной и взвешенная матрица квантования. Однако технология квантования не ограничена этим, и можно использовать различные технологии квантования, полученные путем улучшения и модификации этой технологии квантования.
[00101] Кроме того, секция квантования выполнена с возможностью передачи информации, необходимой для генерирования блока квантования, в секцию кодирования, вследствие чего информация кодируется, включения информации в битовый поток и передачи в декодер, а секция декодирования декодера выполнена с возможностью анализа информации и использования информации для процесса обратного квантования.
[00102] В вышеприведенном примере описание было сделано с учетом предположения, что остаточный блок подвергнут преобразованию и квантованию посредством секции преобразования и секции квантования. Однако остаточный сигнал остаточного блока может быть преобразован для генерирования остаточного блока, имеющего преобразованный коэффициент, и процесс квантования может не выполняться. Альтернативно остаточный сигнал остаточного блока может быть не преобразован в преобразованный коэффициент, и может выполняться только процесс квантования. Альтернативно может не выполняться ни процесс преобразования, ни процесс квантования. Это может быть определено на основе настроек кодера.
[00103] Секция кодирования сканирует квантованный коэффициент, преобразованный коэффициент или остаточный сигнал сгенерированного остаточного блока в соответствии с по меньшей мере одним порядком сканирования (например, зигзагообразное сканирование, вертикальное сканирование, горизонтальное сканирование и т.д.), генерирует последовательность квантованных коэффициентов, последовательность преобразованных коэффициентов или последовательности сигналов и может выполнять кодирование с использованием по меньшей мере одной технологии энтропийного кодирования. В этом случае информация о порядке сканирования может быть определена в соответствии с настройкой кодирования (например, режимом кодирования, режимом предсказания и т.д.), и связанная информация может быть сгенерирована в неявном виде или в явном виде. Например, один из множества порядков сканирования может быть выбран в соответствии с режимом внутреннего предсказания. В этом случае схема сканирования может быть установлена как одна из различных схем, таких как зигзагообразная схема, диагональные линии и растр.
[00104] Кроме того, данные кодирования, включающие информацию о кодировании, переданную от каждого компонента, могут быть сгенерированы и выведены в качестве битового потока, который может быть реализован посредством мультиплексора (MUX). В этом случае кодирование может выполняться с использованием в качестве схемы кодирования такого способа, как экспоненциальный способ Голомба, контекстно-адаптивное кодирование с переменной длиной слова (CAVLC) или контекстно-адаптивное двоичное арифметическое кодирование (CABAC). Однако схема кодирования не ограничена этим, и можно использовать различные схемы кодирования, полученные путем улучшения и модификации этой схемы кодирования.
[00105] При выполнении энтропийного кодирования (в данном примере предполагается CABAC) в отношении данных остаточного блока и элемента синтаксиса, такого как информация, сгенерированная в процессе кодирования/декодирования, устройство для энтропийного кодирования может содержать преобразователь в двоичную форму, средство контекстного моделирования и двоичный арифметический кодер. В этом случае двоичный арифметический кодер может содержать движок для нормального кодирования и движок для обходного кодирования. В этом случае движок для нормального кодирования может представлять собой секцию, выполняемую в отношении средства контекстного моделирования, а движок для обходного кодирования может представлять собой средство, выполняемое независимо от средства контекстного моделирования.
[00106] Поскольку элемент синтаксиса, введенный в устройство для энтропийного кодирования, может не представлять собой двоичное значение, когда элементы синтаксиса не являются двоичными значениями, преобразователь в двоичную форму может преобразовывать в двоичную форму элементы синтаксиса и выводить строку двоичных чисел, содержащую 0 или 1. В этом случае двоичное число представляет собой бит, содержащий 0 или 1, и он может быть закодирован с помощью двоичного арифметического кодера. В этом случае один из движка для нормального кодирования и движка для обходного кодирования может быть выбран на основе вероятности появления 0 и 1, которая может быть определена согласно настройке кодирования/декодирования. Движок для обходного кодирования может использоваться, когда элемент синтаксиса представляет собой данные, в которых частота появления 0 и 1 одинакова, а движок для нормального кодирования может использоваться в иных случаях, на которые можно ссылаться, когда последующий движок для нормального кодирования выполняется посредством контекстного моделирования (или обновления контекстной информации).
[00107] В этом случае контекст представляет собой информацию о вероятности появления двоичного числа, и контекстное моделирование представляет собой процесс оценки вероятности двоичного числа, необходимого для двоичного арифметического кодирования с использованием двоичного числа, которое получено в результате преобразования в двоичную форму, в качестве входного значения. Для оценки вероятности может использоваться элемент синтаксиса двоичного числа, индекс, который является положением двоичного числа в строке двоичных чисел, вероятность того, что двоичное число включено в соседний блок и т.д., и для этого может использоваться по меньшей мере одна контекстная таблица. Например, в качестве информации для некоторых флагов может использоваться множество контекстных таблиц в соответствии с комбинацией того, используются ли флаги соседних блоков.
[00108] При выполнении преобразования элемента синтаксиса в двоичную форму могут использоваться различные способы. Например, способы могут быть разделены на преобразование в двоичную форму с фиксированной длиной и преобразование в двоичную форму с переменной длиной. В случае преобразования в двоичную форму с переменной длиной можно использовать унарное преобразование в двоичную форму (усеченное унарное преобразование в двоичную форму), усеченное преобразование в двоичную форму Райса, преобразование в двоичную форму по экспоненциальному методу Голомба порядка k, усеченное двоичное преобразование в двоичную форму и т.д. Кроме того, может выполняться знаковое преобразование в двоичную форму или беззнаковое преобразование в двоичную форму согласно диапазону значений элемента синтаксиса. Процесс преобразования в двоичную форму для элемента синтаксиса, осуществляемый в настоящем изобретении, может быть выполнен, включая не только преобразование в двоичную форму, упомянутое в вышеописанном примере, но также другие дополнительные способы преобразования в двоичную форму.
[00109] Секция обратного квантования и секция обратного преобразования могут быть реализованы путем выполнения в обратном порядке процессов секции преобразования и секции квантования. Например, секция обратного квантования выполнена с возможностью обратного квантования квантованного преобразованного коэффициента, сгенерированного посредством секции квантования, а секция обратного преобразования может осуществлять обратное преобразование преобразованного коэффициента, подвергнутого обратному квантованию, для генерирования восстановленного остаточного блока.
[00110] Секция сложения восстанавливает текущий блок за счет сложения блока предсказания и восстановленного остаточного блока. Восстановленный блок может храниться в запоминающем устройстве и использоваться в качестве опорных данных (секция предсказания, элемент фильтра и т.д.).
[00111] Секция фильтра в контуре может предусматривать по меньшей мере один компонент фильтрации после обработки, такой как деблочный фильтр, адаптивный к выборке сдвиг (SAO) и адаптивный контурный фильтр (ALF). Деблочный фильтр может удалять искажение блока, возникающее на границе между блоками в восстановленном изображении. ALF может выполнять фильтрацию на основе значения, полученного за счет сравнения восстановленного изображения и входного изображения. Подробнее, фильтрация может выполняться на основе значения, полученного путем сравнения изображения, восстановленного после фильтрации блока при помощи деблочного фильтра, и входного изображения. Альтернативно фильтрация может выполняться на основе значения, полученного путем сравнения изображения, восстановленного после фильтрации блока при помощи SAO, и входного видео.
[00112] Восстановленный блок или кадр могут храниться в запоминающем устройстве. Восстановленный блок или кадр, хранящиеся в запоминающем устройстве, могут быть предоставлены в секцию предсказания, которая выполняет внутреннее предсказание или предсказание, осуществляемое между изображениями. Подробнее, пространство хранения в виде очереди битового потока, сжатого кодером, может быть обработано как буфер кодированных кадров (CPB), а пространство для хранения декодированного изображения в элементах кадров может быть обработано как буфер декодированных кадров (DPB). В случае CPB элементы декодирования сохраняются в соответствии с порядком декодирования, операция декодирования эмулируется в кодере, битовый поток, сжатый во время процесса эмуляции, может быть сохранен, битовый поток, выводимый из CPB, восстанавливается посредством процесса декодирования, восстановленное изображение сохраняется в DPB, и кадры, сохраненные в DPB, могут упоминаться в последующем процессе кодирования и декодирования изображения.
[00113] Секция декодирования может быть реализована за счет выполнения процесса в секции кодирования в обратном порядке. Например, последовательность квантованных коэффициентов, последовательность преобразованных коэффициентов или последовательность сигналов могут быть приняты из битового потока и декодированы, и данные декодирования, включающие информацию декодирования, могут быть проанализированы и переданы в каждый компонент.
[00114] С другой стороны, секция разделения блока также может быть включена в устройство для кодирования изображения и устройство для декодирования изображения, представленные на фиг. 1 и 2, хотя она на них не изображена. Информация о базовом элементе кодирования может быть получена из секции разделения кадра, и базовый элемент кодирования может представлять базовый (или начальный) элемент, использованный для предсказания, преобразования, квантования и т.д. в процессе кодирования/декодирования изображения. В этом случае элементы кодирования могут быть составлены в один блок кодирования яркости и два блока кодирования цветоразностных компонент в соответствии с форматом цвета (в данном примере YCbCr), и размер каждого блока может быть определен в соответствии с форматом цвета. В следующих примерах будет осуществлено описание на основе блоков (в данном примере - компонент яркости). В этом случае предполагается, что блок представляет собой элемент, который может быть получен после определения каждого элемента, и описание будет дано в предположении того, что аналогичные настройки могут быть применены к другим типам блоков.
[00115] Секция разделения блока может быть задана в связи с каждым компонентом устройства для кодирования и устройства для декодирования изображения, и при помощи этого процесса могут быть определены размер и форма блока. В этом случае заданный блок может быть определен по-разному в зависимости от конфигурации и может соответствовать блоку предсказания в случае секции предсказания, блоку преобразования - в случае секции предсказания, и блоку квантования - в случае секции квантования. Настоящее изобретение этим не ограничено, и дополнительно могут быть определены элементы блоков согласно другим компонентам. Размер и форма блока могут определяться горизонтальной и вертикальной длинами блока.
[00116] В секции разделения блока блок может быть выражен как M×N, и максимальное и минимальное значения каждого блока могут быть получены в пределах некоторого диапазона. Например, если форма блока поддерживает квадрат, и максимальное значение блока равно 256×256, и минимальное значение блока равно 8×8, возможно получить блок, имеющий размер 2m×2m (в данном примере m - целое число от 3 до 8, например, 8×8, 16×16, 32×32, 64×64, 128×128 или 256×256), блок, имеющий размер 2m×2m (в данном примере m - целое число от 4 до 128), или блок, имеющий размер m×m (в данном примере m - целое число от 8 до 256). Альтернативно, в случае если форма блока поддерживает квадрат и прямоугольник, и он имеет такой же диапазон, как в приведенном выше примере, возможно получить блок, имеющий размер 2m×2n (в данном примере m и n - целые числа от 3 до 8, например, 8×8, 8×16, 16×8, 16×16, 16×32, 32×16, 32×32, 32×64, 64×32, 64×64, 64×128, 128×64, 128×128, 128×256, 256×128 или 256×256 в предположении, что максимальное отношение ширины к высоте равно 2:1, и, в зависимости от настройки кодирования/декодирования, может не быть предела отношения ширины к высоте, или может иметься максимальное значение этого отношения). Альтернативно возможно получить блок, имеющий размер 2m×2n (в данном примере m и n - целые числа от 4 до 128). Альтернативно возможно получить блок, имеющий размер m×n (в данном примере m и n - целые числа от 8 до 256).
[00117] Получаемые блоки могут быть определены в соответствии с настройками кодирования/декодирования (например, типом блока, схемой разделения, настройкой разделения и т.д.). Например, как блок кодирования может быть получен блок, имеющий размер 2m×2n, как блок предсказания может быть получен блок, имеющий размер 2m×2n или m×n, и как блок преобразования может быть получен блок, имеющий размер 2m×2n. Информация о размере блока, диапазоне и т.д. (например, информация, связанная с индексом и множителем, и т.д.) может быть сгенерирована на основе настроек.
[00118] Диапазон (определяемый в данном примере как максимальное значение и минимальное значение) может быть определен в соответствии с типом блока. Кроме того, для некоторых блоков информация о диапазоне блока может генерироваться в явном виде, а для некоторых блоков информация о диапазоне блока может быть определена в неявном виде. Например, связанная информация может генерироваться в явном виде в блоке кодирования и преобразования, и связанная информация может в неявном виде обрабатываться в блоке предсказания.
[00119] В явном случае может генерироваться по меньшей мере один фрагмент информации о диапазоне. Например, в случае блока кодирования информация о диапазоне может генерировать информацию о максимальном значении и минимальном значении. Альтернативно информация может быть сгенерирована на основе разности между максимальным значением и предварительно заданным минимальным значением (например, 8) (например, сгенерированным на основе настройки, информации о значении разности между индексами максимального значения и минимального значения и т.д.). Кроме того, для горизонтальной и вертикальной длин прямоугольного блока может быть сгенерирована информация о множестве диапазонов.
[00120] В неявном случае информация о диапазоне может быть определена на основе настроек кодирования/декодирования (например, типа блока, схемы разделения, настройки разделения и т.д.). Например, в случае блока предсказания информация о максимальном значении и минимальном значении может быть получена при помощи группы кандидатов (в данном примере M×N и m/2×n/2), которая может быть получена посредством настройки разделения блока предсказания (например, разделение на основе четверичного дерева + глубина разделения 0) в блоке кодирования (например, максимальный размер блока кодирования равен M×N, и минимальный размер блока кодирования равен m×n), который представляет собой верхний элемент.
[00121] Размер и форма исходного (или начального) блока секции разделения блока могут быть определены посредством верхнего элемента. В случае блока кодирования исходным блоком может являться базовый блок кодирования, полученный из секции разделения кадра, в случае блока предсказания исходным блоком может являться блок кодирования, и в случае блока преобразования исходным блоком может являться блок кодирования или блок предсказания, которые могут быть определены в соответствии с настройками кодирования/декодирования. Например, если режимом кодирования является внутреннее предсказание, верхним элементом блока преобразования может являться блок предсказания, и, если режимом кодирования является предсказание, осуществляемое между изображениями, блок предсказания может представлять собой элемент, независимый от блока преобразования. Исходный блок может быть разделен на блоки меньших размеров в качестве начальных элементов разделения. Если определены оптимальные размер и форма в соответствии с разделением каждого блока, блок может быть определен как исходный блок нижнего элемента. Например, в первом случае блок может представлять собой блок кодирования, и в последнем случае (нижний элемент) он может представлять собой блок предсказания или блок преобразования. Если исходный блок нижнего элемента определен так, как в приведенном выше примере, для нахождения блока, имеющего оптимальные размер и форму, как верхнего элемента может быть выполнен процесс разделения.
[00122] Подводя итог, секция разделения блока выполнена с возможностью разделения базового элемента кодирования (или наибольшего элемента кодирования) на по меньшей мере один элемент кодирования (или нижний элемент кодирования). Кроме того, элемент кодирования может быть разделен на по меньшей мере один элемент предсказания и может быть разделен на по меньшей мере один элемент преобразования. Элемент кодирования может быть разделен на по меньшей мере один блок кодирования, блок кодирования может быть разделен на по меньшей мере один блок предсказания и может быть разделен на по меньшей мере один блок преобразования. Элемент предсказания может быть разделен на по меньшей мере один блок предсказания, и элемент преобразования может быть разделен на по меньшей мере один блок преобразования.
[00123] Как в приведенном выше примере, если блок, имеющий оптимальные размер и форму, найден при помощи процесса определения режима, для данного блока может генерироваться информация о режиме (например, информация о разделении и т.д.). Информация о режиме может быть включена в битовый поток наряду с информацией, сгенерированной компонентом, к которому принадлежит данный блок (например, информация, связанная с предсказанием, информация, связанная с преобразованием, и т.д.) и передана в декодер и может быть подвергнута анализу в том же элементе уровня в декодере и использована в процессе декодирования изображения.
[00124] В примере, описанном ниже, будет описана схема разделения, и описание будет дано в предположении, что исходный блок имеет квадратную форму. Однако в случае прямоугольной формы допускается такой же или аналогичный пример.
[00125] Секция разделения блока выполнена с возможностью поддержки различных режимов разделения. Например, может поддерживаться древовидное разделение или типизированное разделение, и могут применяться другие способы. В случае древовидного разделения для генерирования информации о разделении может использоваться флаг разделения, и в случае типизированного разделения для генерирования информации о разделении может использоваться информация об индексах для форм блоков, включенных в предварительно заданную группу кандидатов.
[00126] На фиг. 3 представлена принципиальная схема, изображающая древовидную форму блока.
[00127] Со ссылкой на фиг. 3, «a» изображает один блок 2N×2N, не подвергнутый разделению, «b» изображает блоки 2N×N, полученные посредством некоторого флага разделения (в данном примере - горизонтального разделения двоичного дерева), «c» изображает два блока N×2N, полученных посредством некоторого флага разделения (в данном примере - вертикального разделения двоичного дерева), и «d» изображает четыре блока N×N, полученных посредством некоторого флага разделения (в данном примере - четырех разделений четверичного дерева, или горизонтального и вертикального разделений двоичного дерева). Форма полученного блока может быть определена в соответствии с типом дерева, использованного для разделения. Например, если выполняется разделение на основе четверичного дерева, получаемыми кандидатными блоками могут являться блоки «а» и «d». Если выполняется разделение на основе двоичного дерева, получаемыми кандидатными блоками могут являться блоки «а», «b» и «с». В случае четверичного дерева поддерживается один флаг разделения. Блок «а» может быть получен, если флаг разделения равен «0», и блок «b» может быть получен, если флаг разделения равен «1». В случае двоичного дерева поддерживается множество флагов разделения, одним из которых может являться флаг, указывающий, выполнено ли разделение, одним из которых может являться флаг, указывающий выполнение горизонтального/вертикального разделения, и одним из которых может являться флаг, указывающий, разрешено ли перекрывание горизонтального/вертикального разделения. Если перекрывание разрешено, получаемыми кандидатными блоками могут являться блоки «a», «b», «c» и «d», и, если перекрывание не разрешено, получаемыми кандидатными блоками могут являться блоки «a», «b» и «c». Четверичное дерево может представлять собой базовую древовидную схему разделения. Кроме того, в древовидную схему разделения может быть включена схема разделения на основе некоторого дерева (в данном примере - двоичного дерева). Если в неявном или явном виде активируется флаг, разрешающий дополнительное разделение на основе дерева, может выполняться множество разделений на основе дерева. Древовидное разделение может представлять собой способ, допускающий рекурсивное разделение. То есть разделяемый блок может быть снова задан как исходный блок для выполнения древовидного разделения, которое может быть определено в соответствии с такими настройками разделения, как диапазон разделения и допустимая глубина разделения. Данная схема может представлять собой пример иерархической схемы разделения.
[00128] На фиг. 4 представлена принципиальная схема, изображающая типизированную форму блока.
[00129] Как изображено на фиг. 4, в соответствии с типом, разделяемый блок может иметь 1 форму разделения (в данном примере - «a»), 2 формы разделения (в данном примере - «b», «c», «d», «e», «f» и «g») и 4 формы разделения (в данном примере - «h»). Группа кандидатов может быть сконфигурирована при помощи различных конфигураций. Например, на фиг. 5 группа кандидатов может быть сконфигурирована при помощи a, b, c, n или a, b-g, n, или a, n, q и т.д. Но данный пример ими не ограничен и включает следующие примеры, вследствие чего могут исполняться различные преобразованные примеры. При активации флага, разрешающего симметричное разделение, поддерживаемыми блоками могут являться «a», «b», «c» и «h» на фиг. 4, и, если активируется флаг, разрешающий асимметричное разделение, поддерживаемыми блоками могут являться все блоки «a»-«h» на фиг. 4. В первом случае связанная информация (в данном примере - флаг, разрешающий симметричное разделение) может активироваться в неявном виде, а в последнем случае связанная информация (в данном примере - флаг, разрешающий асимметричное разделение) может генерироваться в явном виде. Типизированное разделение может представлять собой способ поддержки однократного разделения. По сравнению с древовидным разделением, дальнейшее разделение блоков, полученных путем типизированного разделения, может не допускаться. Это может представлять пример, в котором допустимая глубина разделения равна нулю (например, одноуровневое разделение).
[00130] На фиг. 5 представлена принципиальная схема, изображающая различные формы блоков, которые могут быть получены при помощи секции разделения блока согласно настоящему изобретению.
[00131] Со ссылкой на фиг. 5, блоки a-s могут быть получены в соответствии с настройкой разделения и режимом разделения, а также могут иметь дополнительные формы блоков, которые не изображены.
[00132] В качестве примера, для древовидного разделения может быть разрешено асимметричное разделение. Например, в случае двоичного дерева асимметричное разделение может быть разрешено для блоков b и с на фиг. 5 (в данном примере - случай разделения на множество блоков), или асимметричное разделение может быть разрешено для блоков b-g на фиг. 5 (в данном примере - случай разделения на множество блоков). Если флаг, разрешающий асимметричное разделение в явном или неявном виде деактивирован в соответствии с настройками кодирования/декодирования, получаемым кандидатным блоком может являться блок b или с (в данном примере предполагается, что перекрывание горизонтальных и вертикальных разделений не разрешено), и, если флаг, разрешающий асимметричное разделение, активирован, получаемыми кандидатными блоками могут являться b, d, e (в данном примере - горизонтальное разделение) или c, f, g (в данном примере - вертикальное разделение). Данный пример может соответствовать случаю, в котором направление разделения определяется флагом горизонтального или вертикального разделения, а форма блока определяется в соответствии с флагом, разрешающим асимметрию. Однако настоящее изобретение не ограничено данными примерами, и их можно преобразовать в другие примеры.
[00133] В качестве примера, для древовидного разделения может быть использовано дополнительное разделение на основе дерева. Например, может быть выполнено разделение на основе троичного дерева, четверичного дерева, восьмеричного дерева и т.д. для получения n блоков разделения (в данном примере - 3, 4 и 8, n - целое число). В случае троичного дерева поддерживаемыми блоками (в данном примере - разделенными на множество блоков) могут являться блоки h-m. В случае четверичного дерева поддерживаемыми блоками могут являться блоки n-p. В случае восьмеричного дерева поддерживаемым блоком может являться блок q. Поддержка древовидного разделения может быть в неявном виде определена в соответствии с настройкой кодирования/декодирования, или может в явном виде генерироваться связанная информация. Кроме того, в зависимости от настроек кодирования/декодирования, разделение может использоваться само по себе или в комбинации с разделением на основе двоичного дерева или четверичного дерева. Например, в случае двоичного дерева могут быть получены такие блоки, как блоки b и с. Если двоичное дерево и троичное дерево используются в комбинации (в данном примере предполагается, что диапазон применения двоичного дерева и диапазон применения троичного дерева частично перекрываются), могут быть получены такие блоки, как блоки b, c, i, и l. Если флаг, разрешающий дополнительное разделение, отличное от существующего дерева, деактивирован в явном или неявном виде в соответствии с настройкой кодирования/декодирования, получаемым кандидатным блоком может являться блок b или c. Если этот флаг активирован, получаемым кандидатным блоком могут являться блоки b и i или блоки b, h, i и j (в данном примере - горизонтальное разделение) или могут являться блоки c и l или блоки c, k, l и m (в данном примере - вертикальное разделение). Данный пример может соответствовать случаю, в котором направление разделения определяется флагом горизонтального или вертикального разделения, а форма блока определяется в соответствии с флагом, разрешающим дополнительное разделение. Однако настоящее изобретение не ограничено данными примерами, и эти примеры преобразуются в другие примеры.
[00134] Например, для типизированных блоков может быть разрешено непрямоугольное разделение. Например, возможно разделение в форме блоков r и s. При комбинировании с вышеописанной типизированной группой блоков-кандидатов поддерживаемыми блоками являются блоки a, b, c, h, r, s или a-h, r, s. Кроме того, в группу кандидатов могут быть включены блоки, поддерживающие n разделений (например, в данном примере n - целое число 3, отличное от 1, 2 и 4), такие как блоки h-m.
[00135] Режим разделения может быть определен в соответствии с настойками кодирования/декодирования.
[00136] В качестве примера, режим разделения может быть определен в соответствии с типом блока. Например, в блоке кодирования и блоке преобразования может использоваться древовидное разделение, а в блоке предсказания может использоваться типизированное разделение. Кроме того, может использоваться комбинация из двух типов разделения. Например, в блоке предсказания может использоваться режим разделения, в котором древовидное разделение скомбинировано с типизированным разделением, и этот режим разделения отличается в соответствии с по меньшей мере одним диапазоном, применяемым к блоку.
[00137] Например, режим разделения может быть определен в соответствии с размером блока. Например, древовидное разделение может выполняться для некоторого диапазона (например, a×b-c×d, если последний имеет больший размер) между максимальным значением и минимальным значением блока, и для некоторого диапазона (например, e×f-g×h) может выполняться типизированное разделение. В этом случае информация о диапазоне в соответствии с режимом разделения может генерироваться в явном виде или может определяться в неявном виде.
[00138] В качестве примера, режим разделения может быть определен в соответствии с формой блока (или блоком до разделения). Например, если блок имеет квадратную форму, могут выполняться древовидное разделение и типизированное разделение. Альтернативно, если блок является прямоугольным, может выполняться древовидное разделение.
[00139] Настройка разделения может быть определена в соответствии с настойками кодирования/декодирования.
[00140] В качестве примера, настройка разделения может быть определена в соответствии с типом блока. Например, при древовидном разделении разделение на основе четверичного дерева может использоваться для блока кодирования и блока предсказания, а для блока преобразования может использоваться разделение на основе двоичного дерева. Альтернативно допустимая глубина разделения может быть приравнена к m в случае блока кодирования, допустимая глубина разделения может быть приравнена к n в случае блока предсказания, и допустимая глубина разделения может быть приравнена к o в случае блока преобразования, где m, n и o могут быть одинаковыми или разными.
[00141] Например, настройка разделения может быть определена в соответствии с размером блока. Например, разделение на основе четверичного дерева может выполняться для некоторого диапазона блока (например, a×b-c×d), и для некоторого диапазона (например, e×f-g×h, в данном примере предполагается, что c×d больше, чем g×h) может выполняться разделение на основе двоичного дерева. В этом случае диапазон может включать в себя все диапазоны от максимального значения до минимального значения блока, и эти диапазоны могут быть заданы как не перекрывающиеся друг с другом или как перекрывающиеся друг с другом. Например, минимальное значение некоторого диапазона может быть равно максимальному значению некоторого диапазона, или минимальное значение некоторого диапазона может быть меньше максимального значения некоторого диапазона. В случае перекрывающихся диапазонов приоритет будет иметь схема разделения, содержащая большее максимальное значение. То есть в схеме разделения, имеющей определенный приоритет, выполнение схемы разделения, имеющей менее высокий приоритет, может быть определено в соответствии с результатом разделения. В этом случае информация о диапазоне в соответствии с типом дерева может генерироваться в явном виде или может определяться в неявном виде.
[00142] В качестве другого примера, типизированное разделение для некоторых групп кандидатов может выполняться в определенных диапазонах блока (таких же, как в примере), и в определенных диапазонах (таких же, как в примере) может выполняться типизированное разделение для некоторых групп кандидатов (в настоящем примере по меньшей мере одна конфигурация отличается от предыдущей группы кандидатов). В этом случае диапазон может включать в себя все диапазоны от максимального значения до минимального значения блока, и диапазон может иметь настройки, которые не перекрываются друг с другом.
[00143] В качестве примера, настройка разделения может быть определена в соответствии с формой блока. Например, если блок имеет квадратную форму, может выполняться разделение на основе четверичного дерева. Кроме того, если блок является прямоугольным, может выполняться разделение на основе двоичного дерева.
[00144] Например, настройка разделения может быть определена в соответствии с информацией о кодировании/декодировании (например, типом среза, цветовой компонентой, режимом кодирования и т.д.). Например, разделение на основе четверичного дерева (или двоичного дерева) может выполняться в некотором диапазоне (например, a×b-c×d), если типом среза является I, может выполняться в некотором диапазоне (например, e×f-g×h), если типом среза является Р, и может выполняться в некотором диапазоне (например, i×j-k×l), если типом среза является B. Кроме того, допустимая глубина разделения на основе четверичного дерева (или двоичного дерева) может быть приравнена к m, если типом среза является I, может быть приравнена к n, если типом среза является P, и может быть приравнена к o, если типом среза является B. Здесь m, n и o могут являться или могут не являться одинаковыми. Некоторые типы срезов могут иметь такую же конфигурацию, как у других срезов (например, срезов Р и B).
[00145] В качестве другого примера, допустимая глубина разделения на основе четверичного дерева (или двоичного дерева) может быть приравнена к m, если цветовая компонента представляет собой компоненту яркости, и может быть приравнена к n, если цветовая компонента представляет собой цветоразностную компоненту, и m и n могут являться или не являться одинаковыми. Кроме того, диапазон разделения на основе четверичного дерева (или двоичного дерева) в случае, когда цветовой компонентой является компонента яркости (например, a×b-c×d), может являться или не являться таким же, как диапазон разделения на основе четверичного дерева (или двоичного дерева) в случае, когда цветовой компонентой является цветоразностная компонента (например, e×f-g×h).
[00146] В качестве другого примера, допустимая глубина разделения на основе четверичного дерева (или двоичного дерева) может быть равна m, если режимом кодирования является внутреннее предсказание, и может быть равна n (в данном примере предполагается, что n больше, чем m), если режимом кодирования является предсказание, осуществляемое между изображениями, где m и n могут являться или не являться одинаковыми. Кроме того, диапазон разделения на основе четверичного дерева (или двоичного дерева) в случае, когда режимом кодирования является внутреннее предсказание, может являться или не являться таким же, как диапазон разделения на основе четверичного дерева (или двоичного дерева) в случае, когда режимом кодирования является предсказание, осуществляемое между изображениями.
[00147] В приведенном выше примере информация о поддержке адаптивной конфигурации группы кандидатов разделения в соответствии с информацией о кодировании/декодировании может генерироваться в явном виде или определяться в неявном виде.
[00148] При помощи приведенного выше примера описан случай, в котором режим разделения и настройка разделения определяются в соответствии с настройкой кодирования/декодирования. В приведенном выше примере представлены некоторые случаи в соответствии с каждым элементом, и может быть возможна модификация в другие случаи. Кроме того, режим разделения и настройка разделения могут быть определены в соответствии с комбинацией множества элементов. Например, режим разделения и настройка разделения могут быть определены в соответствии с типом, размером, формой, информацией о кодировании/декодировании и т.д. блока.
[00149] Кроме того, в приведенном выше примере элементы, связанные с режимом разделения, настройкой и т.д., могут быть определены в неявном виде, или эта информация может генерироваться в явном виде для определения того, разрешен ли адаптивный случай, как в приведенном выше примере.
[00150] Глубина разделения в настройке разделения относится к количеству случаев пространственного разделения в отношении исходного блока (в данном примере глубина разделения исходного блока равна 0), и при увеличении глубины разделения может выполняться разделение на блоки меньшего размера. Настройка, связанная с глубиной, может изменяться в зависимости от схемы разделения. Например, в режиме древовидного разделения одна общая глубина может использоваться для глубины разделения на основе двоичного дерева и глубины разделения на основе троичного дерева, и, в зависимости от типа дерева, могут использоваться отдельные глубины.
[00151] В приведенном выше примере, если в соответствии с типом дерева используется отдельная глубина разделения, эта глубина разделения может быть приравнена к 0 в положении начала разделения (в данном примере - блока до разделения) на основе дерева. Глубина разделения может быть вычислена путем принятия в качестве центра положения, в котором начинается разделение, не основанного на диапазоне разделения каждого дерева (в данном примере - максимальное значение).
[00152] На фиг. 6 представлена принципиальная схема для разъяснения древовидного разделения согласно варианту осуществления настоящего изобретения.
[00153] «a» представляет пример разделения на основе четверичного дерева и двоичного дерева. В частности, верхний левый блок «а» изображает разделение на основе четверичного дерева, верхний правый блок и нижний левый блок изображают разделение на основе четверичного дерева и двоичного дерева, и нижний правый блок изображает разделение на основе двоичного дерева. На фигуре сплошная линия (в данном примере - Quad1) представляет граничную линию, которая разделяется в четверичное дерево, штриховая линия (в данном примере - Binary1) представляет граничную линию, которая разделяется в двоичное дерево, и жирная сплошная линия (в данном примере - Binin2) представляет граничную линию, которая разделяется в двоичное дерево. Разница между штриховой линией и жирной сплошной линией представляет собой разность в схемах разделения.
[00154] В качестве примера (допустимая глубина разделения на основе четверичного дерева верхнего левого блока равна 3, если текущий блок имеет размер N×N, разделение выполняется до тех пор, пока одна из горизонтали или вертикали не достигнет (N>>3), и информация о разделении генерируется до (N>>2). Это также применимо к следующему примеру. Предполагается, что максимальное и минимальное значения четверичного дерева равны N×N, (N>>3)×(N>>3)), при выполнении древовидного разделения они могут быть разделены на четыре блока с 1/2 горизонтальной и вертикальной длин. При активации разделения значение флага разделения может быть равно «1», и при деактивации разделения значение флага разделения может быть равно «0». Согласно настройке, флаг разделения верхнего левого блока может генерироваться вместе с верхним левым блоком b.
[00155] В качестве примера (для верхнего правого блока предполагается, что допустимая глубина разделения на основе четверичного дерева равна 0, допустимая глубина разделения на основе двоичного дерева равна 4, максимальное и минимальное значения разделения на основе четверичного дерева равны N×N, (N>>2)×(N>>2), максимальное и минимальное значения двоичного дерева равны (N>>1)×(N>>1), (N>>3)×(N>>3)), в случае выполнения разделения на основе четверичного дерева в отношении исходного блока верхний правый блок может быть разделен на четыре блока с длиной в 1/2 горизонтальной и вертикальной длин. Размер разделенного блока равен (N>>1)×(N>>), что означает, что разделение на основе двоичного дерева может выполняться (в данном примере он больше минимального значения разделения на основе четверичного дерева, но глубина разделения ограничена). То есть данный пример может представлять собой пример, в котором разделение на основе четверичного дерева и разделение на основе двоичного дерева не могут перекрываться. Информация о разделении на основе двоичного дерева в данном примере может быть сконфигурирована при помощи множества флагов разделения. Некоторые флаги могут представлять собой флаги горизонтального разделения (в данном примере соответствующие х в х/y), и некоторые флаги могут представлять собой флаги вертикального разделения (в данном примере соответствующие y в x/y). Конфигурация флагов разделения может иметь настройки, аналогичные разделению на основе четверичного дерева (например, выполнять ли активацию). В данном примере два флага могут активироваться повторно. Если для генерирования информации флага на фигуре используется
«-», «-» может соответствовать обработке флага в неявном виде. Если дополнительное разделение не может быть выполнено в соответствии такими условиями, как максимальное значение, минимальное значение и глубина древовидного разделения, может генерироваться обработка флага в неявном виде. Согласно настройке, флаг разделения верхнего правого блока может генерироваться вместе с верхним левым блоком b.
[00156] В качестве примера (для верхнего левого блока предполагается, что допустимая глубина разделения на основе четверичного дерева равна 3, допустимая глубина разделения на основе двоичного дерева равна 2, максимальное и минимальное значения разделения на основе четверичного дерева равны N×N, (N>>3)×(N>>3), максимальное и минимальное значения разделения на основе двоичного дерева равны (N>>2)×(N>>2), (N>>4)×(N>>4), и в перекрывающемся диапазоне приоритетом разделения наделяется разделение на основе четверичного дерева), при выполнении разделения на основе четверичного дерева в отношении исходного блока нижний левый блок может быть разделен на четыре блока с длиной в 1/2 горизонтальной и вертикальной длин. Размер разделенного блока равен (N>>1)×(N>>), что означает, что в соответствии с настройками данного примера могут быть выполнены разделение на основе двоичного дерева и разделение на основе четверичного дерева. То есть данный пример может представлять собой пример, в котором разделение на основе четверичного дерева и разделение на основе двоичного дерева могут перекрываться. В этом случае может быть определено выполнение разделения на основе двоичного дерева в соответствии с результатом разделения на основе четверичного дерева, имеющего заданный приоритет. При выполнении разделения на основе четверичного дерева разделение на основе двоичного дерева не будет выполняться. Если разделение на основе четверичного дерева не выполняется, может выполняться разделение на основе двоичного дерева. Если разделение на основе четверичного дерева не выполняется, даже если удовлетворяются условия для разделения в соответствии с вышеперечисленными настройками, разделение на основе четверичного дерева может не выполняться. Информация о разделении на основе двоичного дерева в данном примере может быть сконфигурирована при помощи множества флагов разделения. Некоторые флаги могут представлять собой флаги разделения (в данном примере соответствующие х в х/y), и некоторые флаги могут представлять собой флаги направления разделения (в данном примере соответствующие y в x/y, и может быть определено, генерировать ли информацию y в соответствии с х). Флаги разделения могут иметь настройки, аналогичные разделению на основе четверичного дерева. В данном примере горизонтальное и вертикальное разделения не могут быть активированы за счет перекрывания друг с другом. При генерировании информации флага как «-» на фигуре, «-» может иметь настройки, аналогичные приведенному выше примеру. В соответствии с настройкой, флаг разделения нижнего левого блока может генерироваться вместе с нижним левым блоком b.
[00157] В качестве примера (для нижнего правого блока предполагается, что допустимая глубина разделения на основе двоичного дерева равна 5, максимальное и минимальное значения разделения на основе двоичного дерева равны N×N, (N>>2)×(N>>3)), в случае выполнения разделения на основе двоичного дерева в отношении исходного блока нижний правый блок может быть разделен на два блока с длиной в 1/2 горизонтальной и вертикальной длин. Настройка флага разделения в данном примере может являться такой же, как для нижнего левого блока. При генерировании информации флага как «-» на фигуре, «-» может иметь настройки, аналогичные приведенному выше примеру. В данном примере изображен случай, в котором горизонтальное и вертикальное минимальные значения двоичного дерева заданы по-разному. В соответствии с настройкой, флаг разделения нижнего правого блока может генерироваться вместе с нижним правым блоком b.
[00158] Как изображено в приведенном выше примере, после определения информации о блоке (например, типа, размера, формы, положения, типа среза, цветовой компоненты и т.д.) в соответствии с информацией о блоке могут быть определены режим разделения и настройка разделения, и процесс разделения может быть выполнен соответственно.
[00159] На фиг. 7 представлена принципиальная схема для разъяснения древовидного разделения согласно варианту осуществления настоящего изобретения.
[00160] Что касается блока а и блока b, жирная сплошная линия L0 представляет максимальный блок кодирования, блок, разделенный жирной сплошной линией, а другие линии L1-L5 представляют разделенный блок кодирования, при этом число внутри блока представляет положение разделенного подблока (в данном примере - в порядке растрового сканирования), количество символов «-» представляет глубину разделения соответствующего блока, а номер линии границы между блоками представляет количество разделений. Например, если блок разделен на четыре блока (в данном примере - на основе четверичного дерева), он имеет порядок UL(0)-UR(1)-DL(2)-DR(3), и, если блок разделен на два блока (в данном примере - на основе двоичного дерева), он имеет порядок L, или U(0)-R, или D(1), который может быть определен при каждой глубине разделения. В следующем примере изображен случай, в котором получаемые блоки кодирования ограничены.
[00161] В качестве примера, предполагается, что максимальный блок кодирования а имеет размер 64×64, минимальный блок кодирования имеет размер 16×16, и используется разделение на основе четверичного дерева. В данном случае, поскольку размер блоков 2-0, 2-1 и 2-2 (в данном примере имеющих размер 16×16) равен размеру минимального блока кодирования, они могут не подвергаться разделению на блоки меньшего размера, такие как блоки 2-3-0, 2-3-1, 2-3-2 и 2-3-3 (в данном примере имеющие размер 8×8). В данном случае, поскольку имеются блоки 16×16, получаемые в блоках 2-0, 2-1, 2-2 и 2-3, то есть одна группа кандидатов, информация о разделении блока не генерируется.
[00162] В качестве примера, предполагается, что максимальный блок кодирования b имеет размер 64×64, длина минимального блока кодирования в горизонтальном или вертикальном направлении равна 8, и допустимая глубина разделения равна 3. В этом случае, так как блок 1-0-1-1 (в данном примере имеющий размер 16×16 и глубину разделения 3) удовлетворяет условию минимального блока кодирования, этот блок может быть разделен на блоки меньшего размера. Однако поскольку он равен допустимой глубине разделения, этот блок не может быть разделен на блоки, имеющие большую глубину разделения (в данном примере - блоки 1-0-1-0-0 и 1-0-1-0-1). В этом случае, поскольку имеются блоки 16×8, получаемые в блоках 1-0-1-0 и 1-0-1-1, то есть одна группа кандидатов, информация о разделении блока не генерируется.
[00163] Как изображено в приведенном выше примере, разделение на основе четверичного дерева или разделение на основе двоичного дерева может поддерживаться в соответствии с кодированием/декодированием. Альтернативно разделение на основе четверичного дерева и разделение на основе двоичного дерева могут поддерживаться совместно. Например, один или два из вышеперечисленных режимов могут поддерживаться в соответствии с размером блока, глубиной разделения и т.д. Если блок принадлежит к первому диапазону блока, может поддерживаться разделение на основе четверичного дерева, и, если блок принадлежит ко второму диапазону блока, может поддерживаться разделение на основе двоичного дерева. При поддержке множества режимов разделения в соответствии с каждым режимом может иметься по меньшей мере одна настройка максимального размера блока кодирования, минимального размера блока кодирования, допустимой глубины разделения и т.д. Диапазоны могут быть настроены для перекрывания друг с другом, или они могут не перекрываться. Альтернативно также возможно, что некоторый диапазон включает другой диапазон. Вышеперечисленные настройки могут быть определены в соответствии с единственным или смешанными факторами, такими как тип среза, режим кодирования и цветовая компонента.
[00164] В качестве примера, настройка разделения может быть определена в соответствии с типом среза. В случае среза I поддерживаемая настройка разделения такова, что в случае четверичного дерева поддерживаемым диапазоном разделения является 128×128 - 32×32, и в случае двоичного дерева поддерживаемым диапазоном разделения является 32×32 - 8×8. В случае среза P/B поддерживаемая настройка разделения такова, что в случае четверичного дерева поддерживаемым диапазоном разделения является 128×128-32×32, и в случае двоичного дерева поддерживаемым диапазоном разделения является 64×64-8×8.
[00165] В качестве примера, настройка разделения может быть определена в соответствии с режимом кодирования. Если режимом кодирования является внутреннее предсказание, поддерживаемой настройкой разделения является следующее: для двоичного дерева могут поддерживаться диапазон разделения 64×64-8×8 и допустимая глубина разделения 2. Если режимом кодирования является предсказание, осуществляемое между изображениями, поддерживаемой настройкой разделения является следующее: для двоичного дерева могут поддерживаться диапазон разделения 32×32-8×8, и допустимая глубина разделения 3.
[00166] В качестве примера, настройка разделения может быть определена в соответствии с цветовой компонентой. Для компоненты яркости поддерживаемым диапазоном разделения является 256×256-64×64 в случае четверичного дерева, и поддерживаемым диапазоном разделения является 64×64-16×16 в случае двоичного дерева. Для цветоразностной компоненты в случае четверичного дерева поддерживаются такие же настройки, как для компоненты яркости (в данном примере соотношение длин каждого блока задается в соответствии с цветоразностным форматом), и поддерживаемым диапазоном разделения в случае двоичного дерева является 64×64-4×4 (в данном примере предполагается, что этим диапазоном в той же компоненте яркости является 128×128-8×8, 4:2:0).
[00167] Примеры описывают случай, в котором настройки разделения отличаются в соответствии с типом блока. Кроме того, для выполнения процесса разделения некоторые блоки могут быть скомбинированы с другими блоками. Например, при комбинировании в один элемент блока кодирования и блока преобразования процесс разделения выполняется с целью получения оптимальных размера и формы блока, которые могут представлять собой не только оптимальные размер и форму блока кодирования, но также и оптимальные размер и форму блока преобразования. Альтернативно в один элемент могут быть скомбинированы блок кодирования и блок преобразования, в один элемент могут быть скомбинированы блок предсказания и блок преобразования, в один элемент могут быть скомбинированы блок кодирования, блок предсказания и блок преобразования, а также могут комбинироваться другие блоки.
[00168] В данном документе описан случай, в котором в каждом блоке предусматривается отдельная настройка разделения, но также можно комбинировать множество элементов в один элемент, имеющий одну настройку разделения.
[00169] В вышеописанном процессе генерируемая информация будет включаться в кодере в битовый поток в по меньшей мере одном элементе последовательности, кадра, среза, плитки и т.д., и декодер будет анализировать связанную информацию из битового потока.
[00170] В процессе кодирования/декодирования изображения входное значение пикселя может отличаться от выходного значения пикселя, и для предотвращения искажения, вызванного операционными ошибками, может быть выполнен процесс корректировки значения пикселя. Схема корректировки значения пикселя представляет собой процесс корректировки значения пикселя, выходящего за пределы диапазона значения пикселя, с целью его нахождения в диапазоне значения пикселя и может называться отсечением.
[00171] В таблице 1 представлен пример кода для отсекающей функции (Clip_x), используемой для выполнения корректировки значения пикселя. Со ссылкой на таблицу 1, вводом в качестве параметров отсекающей функции (Clip_x) могут являться входное значение пикселя (pixel_val), а также минимальное значение (minI) и максимальное значение (maxI) из допустимого диапазона значений пикселя. В данном случае, если описание осуществляется на основе битовой глубины (bit_depth), минимальное значение (minI) может быть равно 0, и максимальное значение (maxI) может быть равно (2bit_depth-1). При исполнении отсекающей функции (Clip_x) входное значение пикселя (pixel_val, параметр A), которое меньше минимального значения (minI), заменяется минимальным значением (minI), и входное значение пикселя, которое больше максимального значения maxI (параметр C), может быть заменено максимальным значением (maxI). Поэтому после завершения корректировки значения пикселя выходное значение (output) может возвращаться как выходное значение пикселя (pixel_val').
[00172] Диапазон значений пикселя определяется в соответствии с битовой глубиной, но значения пикселя (например, кадры, срезы, плитки, блоки и т.д.), которые составляют изображение, отличаются в соответствии с типом и характеристиками изображения, поэтому они могут не генерироваться в диапазоне всех значений пикселя. Согласно варианту осуществления настоящего изобретения, чтобы диапазон значений пикселя можно было использовать в процессе кодирования/декодирования изображения, можно сделать отсылку к диапазону значений пикселя, которые составляют фактическое изображение.
[00173] Например, в способе корректировки значений пикселя согласно таблице 1 минимальное значение (minI) отсекающей функции может быть использовано как минимальное значение для значений пикселя, которые составляют фактическое изображение, и максимальное значение (maxI) отсекающей функции может быть использовано как максимальное значение для значений пикселя, которые составляют фактическое изображение.
[00174] Подводя итог, устройство для кодирования/декодирования изображения может предусматривать способ корректировки значений пикселя на основе битовой глубины и/или способ корректировки значений пикселя на основе диапазона значений пикселя, составляющего изображение. В кодере/декодере может поддерживаться информация флага, используемая для определения того, возможна ли поддержка адаптивного способа корректировки значений пикселя. Если информация флага равна «1», может генерироваться информация о выборе способа корректировки значений пикселя, и, если информация флага равна «0», в качестве базового способа корректировки значений пикселя может использоваться предварительно заданный способ корректировки значений пикселя (в данном примере - способ на основе битовой глубины). Если информация о выборе способа корректировки значений пикселя указывает, что способ корректировки значений пикселя основывается на диапазоне значений пикселя, которые составляют изображение, может быть включена связанная информация о значениях пикселей изображения. Например, может быть включена информация о минимальном и максимальном значениях каждого изображения и срединном значении, описанном ниже в соответствии с цветовыми компонентами. Информация, генерируемая в ходе корректировки, может быть записана в элементах видео, последовательности, кадра, среза, плитки, блока и т.д. кодера и затем передана, и информация, записанная в декодере, может подвергаться анализу для восстановления связанной информации в том же элементе.
[00175] С другой стороны, при помощи этого процесса и посредством корректировки значений пикселя на основе битовой глубины или корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение, диапазон значений пикселя, включающий минимальное и максимальное значения среди значений пикселя, может быть изменен (определен или задан), или также может быть изменена (определена или задана) дополнительная информация о диапазоне значений пикселя. Например, могут быть изменены максимальное и минимальное значения среди значений пикселя, используемых для составления фактического изображения, а также может быть изменено срединное значение, используемое для конфигурирования значений пикселя.
[00176] То есть в процессе корректировки значений пикселя на основе битовой глубины minI может представлять минимальное значение пикселей изображения, maxI может представлять максимальное значение пикселей изображения, I может представлять цветовую компоненту, и medianI может представлять центральное значение пикселей изображения. minI может быть равно 0, maxI может быть равно (1<<bit_depth-1)-1, midI может быть равно 1<<(bit_depth-1), и medianI может быть получено в других формах, включая приведенные выше примеры в соответствии с настройками кодирования/декодирования. Срединное значение представляет собой всего лишь термин, используемый в настоящем изобретении для описания, и он может относиться к информации о диапазоне значений пикселя, которая может быть изменена (определена или задана) в соответствии с процессом корректировки значений пикселя в процессе кодирования/декодирования изображения.
[00177] Например, в процессе корректировки значений пикселя в соответствии с диапазоном значений пикселя, которые составляют изображение, minI может представлять собой минимальное значение пикселей изображения, maxI может представлять собой максимальное значение пикселей изображения, и medianI может представлять собой центральное значение пикселей изображения. medianI может представлять собой среднее значение значений пикселей в изображении, может представлять собой значение в центре, когда пиксели выровнены, или может представлять собой значение, полученное в соответствии с информацией о диапазоне значений пикселя изображения. Для по меньшей мере одного из minI или maxI может быть получено medianI. То есть medianI может представлять собой значение пикселя в пределах диапазона значений пикселя изображения.
[00178] В частности, medianI может представлять собой значение, полученное в соответствии с информацией о диапазоне значений пикселя изображения (в данном примере - minI или maxI), такое как (minI+maxI)/2 или (minI+maxI)>>1, (minI+maxI+1)/2, (minI+maxI+1)>>1, и medianI может быть получено в других формах, включая приведенные выше примеры в соответствии с настройками кодирования/декодирования.
[00179] Ниже будет описан вариант осуществления в соответствии с обработкой корректировки значений пикселя (в данном примере это срединное значение).
[00180] В качестве примера, базовая битовая глубина составляет 8 битов (0-255), выбран процесс корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение (в данном примере минимальное значение равно 10, максимальное значение равно 190, и срединное значение, полученное (путем усреднения) из минимального и максимального значений, равно 100), и, если текущий блок представляет собой первый блок в изображении (в данном примере - в кадре), смежные блоки, используемые для кодирования/декодирования (в данном примере - левый, нижний левый, верхний левый, верхний и верхний правый), не существуют, поэтому опорный пиксель может быть заполнен срединным значением 100. Опорный пиксель может быть использован для выполнения процесса внутреннего предсказания в соответствии с режимом предсказания.
[00181] В качестве примера, базовая битовая глубина равна 10 битов (0-1023), выбран процесс корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение (в данном примере срединное значение равно 600, и имеются связанные элементы синтаксиса), и, если текущий блок представляет собой первый блок в изображении (в данном примере - срез или плитку), смежные блоки, используемые для кодирования/декодирования (в данном примере - левый, нижний левый, верхний левый, верхний и верхний правый), не существуют, поэтому опорный пиксель может быть заполнен срединным значением 600. Опорный пиксель может быть использован для выполнения процесса внутреннего предсказания в соответствии с режимом предсказания.
[00182] В качестве примера, базовая битовая глубина равна 10 битов, выбран процесс корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение (в данном примере промежуточное значение равно 112, и имеются связанные элементы синтаксиса), настройка определения того, можно ли использовать пиксели соответствующих блоков в предсказании текущего блока, активируется в соответствии с режимом кодирования смежных блоков (внутреннее предсказание/предсказание, осуществляемое между изображениями) (в данном примере, если режимом кодирования соответствующих блоков является внутреннее предсказание, то его можно использовать для опорного пикселя текущего блока, и, если режимом кодирования является предсказание, осуществляемое между изображениями, его нельзя использовать для опорного пикселя текущего блока; если настройка деактивирована, его можно использовать как пиксель текущего блока независимо от режима кодирования соответствующих блоков; связанным элементом синтаксиса является constrained_intra_pred_flag, который может появляться в типе Р или B изображения). Если текущий блок расположен на левой стороне изображения, смежные блоки, используемые для кодирования/декодирования (в данном примере - левый, нижний левый и верхний левый), не существуют, и, если имеются смежные блоки, используемые для кодирования/декодирования (в данном примере - правый и верхний правый), однако, поскольку режимом кодирования блока является предсказание, осуществляемое между изображениями, и он отключен посредством вышеуказанной настройки, доступный опорный пиксель отсутствует, и тогда опорный пиксель может быть заполнен срединным значением (в данном примере - 112). То есть, так как доступный опорный пиксель отсутствует, он может быть заполнен срединным значением из диапазона значений пикселя изображения. Опорный пиксель может быть использован для выполнения процесса внутреннего предсказания в соответствии с режимом предсказания.
[00183] В вышеописанном варианте осуществления секция предсказания содержит различные изображенные случаи, связанные со срединным значением, но она может быть включена в другую конфигурацию кодирования/декодирования видео. Кроме того, настоящее изобретение не ограничено вышеописанным вариантом осуществления, и в различных случаях могут выполняться модификации и расширения.
[00184] В настоящем изобретении процесс корректировки значений пикселя может применяться к процессу кодирования/декодирования секции предсказания, секции преобразования, секции квантования, секции обратного квантования, секции обратного преобразования, секции фильтра, запоминающего устройства и т.д. Например, входной пиксель в способе корректировки значений пикселя может представлять собой опорное дискретное значение или дискретное значение предсказания в процессе предсказания и может представлять собой восстановленное дискретное значение в процессе преобразования, квантования, обратного преобразования и обратного квантования. Кроме того, пиксель может представлять собой восстановленное дискретное значение в процессе фильтрации в контуре или может представлять собой пиксель, сохраненный в запоминающем устройстве. В этом случае в процессе преобразования, квантования, обратного преобразования и обратного квантования восстановленное дискретное значение может относиться к восстановленному дискретному значению перед применением фильтрации в контуре. Восстановленное дискретное значение в фильтре в контуре может относиться к восстановленному дискретному значению после применения фильтра в контуре. Восстановленное дискретное значение в процессе фильтрации в деблочном фильтре может относиться к восстановленному дискретному значению после применения декодирующего фильтра. Восстановленное дискретное значение в процессе SAO может относиться к восстановленному дискретному значению после применения SAO. Восстановленное дискретное значение в процессе ALF может относиться к восстановленному дискретному значению после применения ALF. Были описаны примеры различных вышеописанных случаев, но настоящее изобретение ими не ограничено и может быть применено к входным, промежуточным и выходным этапам всех процессов кодирования/декодирования, которые вызывают процесс корректировки значений пикселя.
[00185] Следующий пример описан на основе предположения о том, что поддерживаются отсекающая функция Clip_Y компоненты Y яркости и отсекающие функции Clip_Cb и Clip_Cr цветоразностных компонент Cb и Cr.
[00186] В настоящем изобретении секция предсказания может быть классифицирована на внутреннее предсказание и предсказание, осуществляемое между изображениями, и внутреннее предсказание и предсказание, осуществляемое между изображениями, могут быть определены следующим образом.
[00187] Внутреннее предсказание может представлять собой технологию для генерирования значения предсказания из области, в которой кодирование/декодирование текущего изображения (например, кадра, среза, плитки и т.д.) завершено, а предсказание, осуществляемое между изображениями, может представлять собой технологию для генерирования значения предсказания из изображения (например, кадра, среза, плитки и т.д.), для которого кодирование/декодирование было завершено перед текущим изображением.
[00188] Кроме того, внутреннее предсказание может представлять собой технологию для генерирования значения предсказания из области, в которой кодирование/декодирование текущего изображения завершено, но некоторые способы предсказания могут исключать, например, способ генерирования значения предсказания из опорного изображения, совпадения блоков, совпадения шаблонов и других предсказаний. Предсказание, осуществляемое между изображениями, может представлять собой технологию для генерирования значения предсказания из изображения, в котором по меньшей мере одно кодирование/декодирование завершено. Изображение, в котором завершено по меньшей мере одно кодирование/декодирование, может быть сконфигурировано так, что оно включает текущее изображение.
[00189] Одно из приведенных выше определений может соблюдаться в соответствии с настройками кодирования/декодирования, и следующий пример будет описан в предположении, что соблюдается первое определение. Кроме того, хотя описание выполнено на основе предположения о том, что значение предсказания представляет собой значение, полученное путем предсказания в пространственной области, настоящее изобретение этим не ограничено.
[00190] На фиг. 8 изображен способ разделения блока согласно варианту осуществления настоящего изобретения. Подробнее, на данной фигуре изображен пример размера и формы блока, получаемого в соответствии с одним или более способами разделения, начиная с базового блока кодирования.
[00191] На данной фигуре жирная сплошная линия представляет базовый блок кодирования, жирная пунктирная линия представляет границу разделения на основе четверичного дерева, двойная сплошная линия представляет границу симметричного разделения на основе двоичного дерева, сплошная линия представляет границу разделения на основе троичного дерева, и тонкая пунктирная линия представляет границу асимметричного разделения на основе двоичного дерева. За исключением жирной сплошной линии, каждая линия представляет границу, разделенную в соответствии с каждым способом разделения. Описываемые ниже настройки разделения (например, тип разделения, информация о разделении, порядок конфигурации информации о разделении и т.д.) не ограничиваются случаем соответствующего примера, и могут осуществляться различные модификации.
[00192] Для простоты описания, описание будет дано в предположении, что отдельные настройки разделения блока заданы для верхнего левого, верхнего правого, нижнего левого и нижнего правого блоков (NxN, 64x64) на основе базового блока кодирования (2Nx2N, 128x128). В первую очередь вследствие одной операции разделения в исходном блоке получается четыре подблока (глубина разделения 0 -> 1, т.е. глубина разделения увеличивается на 1), и максимальный блок кодирования равен 128х128, минимальный блок кодирования равен 8х8, и максимальная глубина разделения равна 4 вследствие настройки разделения для четверичного дерева, которая представляет собой настройку, обычно применяемую к каждому блоку.
[00193] (1 раз, верхний левый блок, A1-A6)
[00194] В данном примере, если поддерживается разделение на основе одного дерева (в данном примере - на основе четверичного дерева), размер и форма получаемых блоков могут определяться одной настройкой разделения блока (например, максимальным блоком кодирования, минимальным блоком кодирования, блоком глубины разделения и т.д.). В данном примере, если блок может быть получен в соответствии с разделением (соответственно, разделяя ширину и высоту на две части), информация о разделении, необходимая для одной операции разделения (на основе блока 4Mx4N до разделения, глубина разделения увеличивается на 1), представляет собой флаг, указывающий, выполняется ли разделение (в данном примере, если флаг равен 0, разделяется х, и, если флаг равен 1, разделяется о). Получаемыми кандидатами могут являться 4M×4N и 2M×2N.
[00195] (2 раза, верхний правый блок, A7-A11)
[00196] В данном примере, если поддерживается разделение на основе множества деревьев (в данном примере - на основе четверичного дерева и двоичного дерева), размер и форма получаемых блоков могут быть определены посредством настроек разделения на основе множества деревьев. В данном примере предполагается, что в случае двоичного дерева максимальный блок кодирования имеет размер 64×64, минимальный блок кодирования имеет длину, равную 4, и максимальная глубина разделения равна 4.
[00197] В данном примере, если в соответствии с разделением может быть получено более двух блоков (в данном примере - 2 или 4), информацией о разделении, необходимой для одной операции разделения (глубина разделения четверичного дерева увеличивается на 1), является флаг, указывающий, выполняется ли разделение, флаг, указывающий тип разделения, флаг, указывающий форму разделения, и флаг, указывающий направление разделения. Получаемыми кандидатами являются 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×3N, 4M×3N/4M×N, M×4N/3M×4N и 3M×4N/M×4N.
[00198] Если диапазоны разделения на основе четверичного дерева и двоичного дерева перекрываются (то есть в диапазоне, где на текущей стадии могут выполняться разделение на основе четверичного дерева и разделение на основе двоичного дерева), и текущий блок (в состоянии до разделения) представляет собой блок, полученный при помощи разделения на основе четверичного дерева (порождающий блок <если глубина разделения на 1 меньше текущей глубины разделения> блок, полученный путем разделения на основе четверичного дерева), информация о разделении может быть разделена на следующие случаи. То есть, если блок, поддерживаемый в соответствии с каждой настройкой разделения, может быть получен при помощи множества способов разделения, информация о разделении может генерироваться при помощи следующей классификации.
[00199] (1) Когда разделение на основе четверичного дерева и разделение на основе двоичного дерева перекрываются друг с другом, то происходит следующее.
[00200] В приведенной выше таблице «а» - флаг, указывающий, выполняется ли разделение на основе четверичного дерева. Если этот флаг равен 1, выполняется разделение на основе четверичного дерева (QT). Если этот флаг равен 0, то подтверждается «b», представляющий собой флаг, который указывает, выполняется ли разделение на основе двоичного дерева. Если b равен 0, разделение в данном блоке не выполняется (нет разделения), и, если b равен 1, выполняется разделение на основе двоичного дерева.
[00201] «с» представляет собой флаг, указывающий направление разделения, c=0 означает горизонтальное разделение (hor), и c=1 означает вертикальное разделение (ver). «d» обозначает флаг, указывающий форму разделения. d=0 означает симметричное разделение (SBT, симметричное двоичное дерево), и d=1 означает асимметричное разделение (ABT, асимметричное двоичное дерево). Только когда d равен 1, выполняется проверка информации о подробном соотношении разделения (1/4 или 3/4) при асимметричном разделении. Если d равен 0, в левом/правом или верхнем/нижнем блоках соотношение левого блока к верхнему блоку равно 1/4, и отношение верхнего блока к нижнему блоку равно 3/4. Если d равен 1, соотношение является противоположным.
[00202] (2) Если может выполняться только разделение на основе двоичного дерева, то происходит следующее.
[00203] В приведенной выше таблице информация о разделении выражена с использованием флагов «b»-«e» с исключением флага «a».
[00204] На фиг. 8 случай блока A7 представляет собой случай, в котором в блоках (A7-A11) до разделения может быть выполнено разделение на основе четверичного дерева (то есть, даже если может быть выполнено разделение на основе четверичного дерева, вместо разделения на основе четверичного дерева выполняется разделение на основе двоичного дерева), и, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (1).
[00205] С другой стороны, в случае блоков A8-A11, если разделение на основе двоичного дерева выполняется без предварительного выполнения разделения на основе четверичного дерева в блоках (A8-A11) до разделения (то есть разделение на основе четверичного дерева в соответствующих блоках <A8-A11> более невозможно), данный случай, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (2).
[00206] (3 раза, нижний левый блок, A12-A15)
[00207] В данном примере поддерживается разделение по схеме на основе множества деревьев (в данном примере - четверичного дерева, двоичного дерева и троичного дерева), и размер и форма блока, который может быть получен, могут определяться посредством множества настроек разделения блока. В данном примере предполагается, что в случае двоичного дерева/троичного дерева максимальный блок кодирования имеет размер 64x64, минимальный блок кодирования имеет длину, равную 4, и максимальная глубина разделения равна 4.
[00208] В данном примере, если в соответствии с разделением может быть получено более двух блоков (в данном примере - 2, 3 и 4), информацией о разделении, необходимой для одной операции разделения, является флаг, указывающий, выполняется ли разделение, флаг, указывающий тип разделения, флаг, указывающий форму разделения, и флаг, указывающий направление разделения. Получаемыми кандидатами являются 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×2N/4M×N и M×4N/2M×4N/M×4N.
[00209] Если диапазоны разделения на основе четверичного дерева и двоичного дерева/троичного дерева перекрываются друг с другом, и текущим блоком является блок, полученный путем разделения на основе четверичного дерева, информация о разделении может быть разделена на следующие случаи.
[00210] (1) Если разделение на основе четверичного дерева и разделение на основе двоичного дерева/троичного дерева перекрываются друг с другом, то происходит следующее.
[00211] В приведенной выше таблице «а» - флаг, указывающий, выполняется ли разделение на основе четверичного дерева. Если этот флаг равен 1, выполняется разделение на основе четверичного дерева. Если этот флаг равен 0, определяется флаг «b», указывающий, выполняется ли разделение на основе двоичного дерева или разделение на основе троичного дерева. Если b равен 0, дальнейшее разделение в данном блоке не выполняется. Если b равен 1, выполняется разделение на основе двоичного дерева или разделение на основе троичного дерева.
[00212] «с» представляет собой флаг, указывающий направление разделения, c=0 означает горизонтальное разделение, и c=1 означает вертикальное разделение. «d» представляет собой флаг, указывающий тип разделения. d=0 означает разделение на основе двоичного дерева (BT), и d=1 означает разделение на основе троичного дерева (ТT).
[00213] (2) Если может выполняться только разделение на основе двоичного дерева/троичного дерева, то происходит следующее.
[00214] В приведенной выше таблице информация о разделении выражена с использованием флагов «b»-«d» с исключением флага «a».
[00215] На фиг. 8 случай блоков A12 и A15 соответствует случаю, в котором разделение на основе четверичного дерева может быть выполнено в блоках A12-A15 до разделения, и, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (1).
[00216] С другой стороны, случай A13 и A14 соответствует случаю, в котором вместо разделения на основе четверичного дерева в блоках A13 и A14 до разделения выполняется разделение на основе троичного дерева, и, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (2).
[00217] (4 раза, нижний левый блок, A16-A20)
[00218] В данном примере поддерживается разделение по схеме на основе множества деревьев (в данном примере - четверичного дерева, двоичного дерева и троичного дерева), и размер и форма блока, который может быть получен, могут определяться посредством множества настроек разделения блока. В данном примере предполагается, что в случае двоичного дерева/троичного дерева максимальный блок кодирования имеет размер 64x64, минимальный блок кодирования имеет длину, равную 4, и максимальная глубина разделения равна 4.
[00219] В данном примере, если в соответствии с разделением может быть получено более двух блоков (в данном примере - 2, 3 и 4), информацией о разделении, необходимой для одной операции разделения, является флаг, указывающий, выполняется ли разделение, флаг, указывающий тип разделения, флаг, указывающий форму разделения, и флаг, указывающий направление разделения. По возможности получаемыми кандидатами являются 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×3N, 4M×3N/4M×N, M×4N/3M×4N, 3M×4N/M×4N, 4M×N/4M×2N/4M×N и M×4N/2M×4N/M×4N.
[00220] Если диапазоны разделения на основе четверичного дерева и двоичного дерева / троичного дерева перекрываются друг с другом, и текущим блоком является блок, полученный путем разделения на основе четверичного дерева, информация о разделении может быть разделена на следующие случаи.
[00221] (1) Если разделение на основе четверичного дерева и разделение на основе двоичного дерева/троичного дерева перекрываются друг с другом, то происходит следующее.
[00222] В приведенной выше таблице «а» - флаг, указывающий, выполняется ли разделение на основе четверичного дерева. Если этот флаг равен 1, выполняется разделение на основе четверичного дерева. Если этот флаг равен 0, определяется флаг «b», указывающий, выполняется ли разделение на основе двоичного дерева. Если b равен 0, дальнейшее разделение в данном блоке не выполняется. Если b равен 1, выполняется разделение на основе двоичного дерева или разделение на основе троичного дерева.
[00223] «с» представляет собой флаг, указывающий направление разделения, c=0 означает горизонтальное разделение, и c=1 означает вертикальное разделение. «d» представляет собой флаг, указывающий тип разделения. d=0 означает разделение на основе двоичного дерева, и d=1 означает разделение на основе троичного дерева. Если d равен 1, определяется флаг «e», соответствующий форме разделения, если e равен 0, выполняется симметричное разделение, и, если e равен 1, выполняется асимметричное разделение. Если e равен 1, определяется информация о подробном соотношении разделения при асимметричном разделении, которая является аналогичной предыдущему примеру.
[00224] (2) Если может выполняться только разделение на основе двоичного дерева / троичного дерева, то происходит следующее.
[00225] В приведенной выше таблице информация о разделении выражена с использованием флагов «b»-«f» с исключением флага «a».
[00226] На фиг. 8 случай блока A20 соответствует случаю, в котором разделение на основе четверичного дерева может быть выполнено в блоках A16-A19 до разделения, и, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (1).
[00227] С другой стороны, в случае A16-A19, поскольку вместо разделения на основе четверичного дерева в блоках A16-A19 до разделения выполняется разделение на основе двоичного дерева, таким образом, этот случай соответствует случаю, в котором информация о разделении генерируется в пункте (2).
[00228] Ниже будет описано внутреннее предсказание секции предсказания согласно настоящему изобретению.
[00229] На фиг. 9 представлена примерная схема, изображающая режим внутреннего предсказания, предопределенный в устройстве для кодирования/декодирования изображения.
[00230] Со ссылкой на фиг. 9, в качестве групп режимов-кандидатов предсказания для внутреннего предсказания сконфигурировано 67 режимов предсказания. 65 режимов предсказания являются направленными режимами (2-66) и два режима предсказания являются ненаправленными режимами (DC, плоский). В этом случае направленный режим может быть разделен на информацию о наклоне (например, dy/dx) или об угле (градусы). Все или часть из режимов предсказания, описанных в приведенных выше примерах, могут быть включены в группу режимов-кандидатов предсказания компоненты яркости или цветоразностной компоненты, и в группу режимов-кандидатов предсказания могут быть включены другие, дополнительные режимы.
[00231] Кроме того, за счет использования корреляции между цветовыми пространствами, для предсказания текущего блока может быть использован восстановленный блок из другого цветового пространства, который был кодирован/декодирован, и может быть включен поддерживающий это режим предсказания. Например, в случае цветоразностной компоненты, для генерирования блока предсказания текущего блока может быть использован восстановленный блок компоненты яркости, соответствующий текущему блоку. То есть блок предсказания может генерироваться на основе восстановленного блока с учетом корреляции между цветовыми пространствами.
[00232] Группа режимов-кандидатов предсказания может быть адаптивно определена в соответствии с настойками кодирования/декодирования. Для повышения точности предсказания количество групп кандидатов может быть увеличено, а для снижения количества битов в соответствии с режимом предсказания, количество групп кандидатов может быть уменьшено.
[00233] Например, может быть выбрана одна группа из группы A кандидатов (67 режимов, 65 направленных режимов и 2 ненаправленных режима), группы B кандидатов (35 режимов, 33 направленных режима и 2 ненаправленных режима) и группы С кандидатов (18 режимов, 17 направленных режимов и 1 ненаправленный режим), и эта группа кандидатов может быть выбрана адаптивно или определена в соответствии с размером и формой блока.
[00234] Кроме того, группа режимов-кандидатов предсказания может иметь различные конфигурации в соответствии с настойками кодирования/декодирования. Например, как изображено на фиг. 2, на фиг. 9 группа режимов-кандидатов предсказания сконфигурирована равным образом для всех режимов, или на фиг. 9 группа кандидатов может быть сконфигурирована так, что количество режимов от 18 до 34 больше количества режимов от 2 до 18. Альтернативно может также иметь место противоположный случай, и группа кандидатов может быть сконфигурирована адаптивно в соответствии с формой блока (т.е. квадратной, прямоугольной с длинными горизонтальными сторонами или прямоугольной с длинными вертикальными сторонами). Например, если ширина текущего блока больше высоты, режимы внутреннего предсказания, принадлежащие к 2-15, не используются, и для замены могут использоваться режимы внутреннего предсказания, принадлежащие к 67-80. С другой стороны, если ширина текущего блока меньше высоты, не используются режимы внутреннего предсказания, принадлежащие к 53-66, и для замены могут использоваться режимы внутреннего предсказания, принадлежащие к -14 - -1.
[00235] В настоящем описании, если не указано иное, предполагается, что внутреннее предсказание выполняется с использованием предварительно заданной группы режимов-кандидатов предсказания (группы А кандидатов) с равными интервалами между режимами, однако основные элементы настоящего изобретения также могут использоваться для задания вышеописанного адаптивного внутреннего предсказания после изменения.
[00236] На фиг. 9 может быть представлен режим предсказания, поддерживаемый в случае квадратного или прямоугольного блока. Кроме того, режимом предсказания, поддерживаемым в случае прямоугольного блока, может являться режим предсказания, отличный от приведенного выше примера. Например, режимы предсказания с разными количествами групп режимов-кандидатов предсказания или равным количеством групп режимов-кандидатов предсказания, но с большими длинами блоков, являются более плотными. И наоборот, может иметь место случай, в котором режимы предсказания являются рассеянными, или может иметь место противоположный случай. В настоящем описании, как изображено на фиг. 9, режим предсказания описан при условии, что настройка режима предсказания (равные интервалы между направленными режимами) поддерживается независимо от формы блока, но он также применим и в других случаях.
[00237] Для задания индекса, присваиваемого режиму предсказания, могут быть использованы различные способы. В случае направленного режима индекс, присваиваемый каждому режиму, может быть определен на основе предварительно заданной информации о приоритетах в соответствии с информацией об угле или о наклоне режима предсказания. Например, режим, соответствующий оси х или оси y (режимы 18 и 50 на фиг. 9), может иметь более высокий приоритет, диагональный режим (режимы 2, 34 и 66), имеющий угловую разность 45 или -45 градусов на основе горизонтального или вертикального режима, может иметь следующий приоритет, диагональный режим, имеющий угловую разность 22,5 или -22,5 градусов на основе диагонального режима, может иметь следующий приоритет, и информация о приоритетах может быть задана этим способом (следующий - 11,25 или -11,25 градусов и т.д.) или другими различными способами.
[00238] Альтернативно индекс может присваиваться в конкретном порядке направлений на основе предварительно заданного режима предсказания. Например, как изображено на фиг. 9, индекс может присваиваться в направлении по часовой стрелке от определенного диагонального режима (режим 2). В следующем примере описание будет сделано на основе предположения о том, что индекс присваивается в направлении по часовой стрелке на основе предварительно заданного режима предсказания.
[00239] Кроме того, ненаправленный режим предсказания может присваивать информацию об индексах перед направленным режимом, или может присваивать информацию об индексах между направленными режимами, или может присваивать информацию об индексах в конце, что может быть определено в соответствии с настройками кодирования/декодирования. В данном примере предполагается, что ненаправленный режим имеет высший приоритет присвоения индексов среди режимов предсказания (ему присваивается низкий индекс, режим 0 - плоский, и режим 1 - DC).
[00240] Несмотря на то что при помощи приведенных выше примеров были описаны различные примеры присвоения индекса режиму предсказания, индекс может присваиваться с другими настройками, приведенный выше пример не является ограничивающим, или могут иметь место различные преобразованные примеры.
[00241] В приведенном выше примере информация о приоритетах была описана на примере присвоения индекса режиму предсказания, однако информация о приоритетах используется не только для присвоения индекса режиму предсказания, но также может использоваться в процессе кодирования/декодирования режима предсказания. Например, информация о приоритетах может использоваться для конфигурации MPM и т.д., и в процессе кодирования/декодирования режима предсказания может поддерживаться множество наборов информации о приоритетах.
[00242] Ниже будет описана схема получения режима внутреннего предсказания (в частности, компоненты яркости) текущего блока.
[00243] Для текущего блока может использоваться режим по умолчанию, предопределенный в устройстве для кодирования/декодирования изображения. Режим по умолчанию может представлять собой направленный режим или ненаправленный режим. Например, направленный режим может включать по меньшей мере один из вертикального режима, горизонтального режима или диагонального режима. Ненаправленный режим может включать по меньшей мере один из планарного режима или режима DC. Если определено, что для текущего блока используется режим по умолчанию, режим внутреннего предсказания текущего блока может быть приравнен к режиму по умолчанию.
[00244] Альтернативно режим внутреннего предсказания текущего блока может быть получен на основе множества MPM-кандидатов. В первую очередь, из вышеупомянутой группы режимов-кандидатов предсказания может быть выбран предварительно определенный MPM-кандидат. Количество MPM-кандидатов может составлять три, четыре, пять или более. MPM-кандидаты могут быть получены на основе режима внутреннего предсказания смежных блоков, смежных с текущим блоком. Смежный блок может представлять собой блок, смежный с по меньшей мере одним из левой стороны, верхнего конца, верхнего левого конца, нижнего левого конца или верхнего правого конца текущего блока.
[00245] В частности, MPM-кандидат может быть определен с учетом того, являются ли одинаковыми режим внутреннего предсказания (candIntraPredModeA) блока с левой стороны и режим внутреннего предсказания (candIntraPredModeB) блока на верхнем конце и являются ли candIntraPredModeA и candIntraPredModeB ненаправленными режимами.
[00246] Например, если candIntraPredModeA и candIntraPredModeB являются одинаковыми, и candIntraPredModeA не является ненаправленным режимом, MPM-кандидаты текущего блока могут включать по меньшей мере один из candIntraPredModeA, (candIntraPredModeA-n), (candIntraPredModeA+n) или ненаправленного режима. Здесь n может представлять собой целое число, равное 1, 2 или более. Ненаправленный режим может включать по меньшей мере один из планарного режима или режима DC. Например, MPM-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 2. Индекс в таблице 2 определяет, но без ограничения, положение или приоритет MPM-кандидатов. Например, index1 может быть присвоен режиму DC, или может быть присвоен index4.
[00247] Альтернативно, если candIntraPredModeA и candIntraPredModeB являются разными, и candIntraPredModeA и candIntraPredModeB не являются ненаправленными режимами, MPM-кандидаты текущего блока могут включать по меньшей мере один из candIntraPredModeA, candIntraPredModeB, (maxAB-n), (maxAB+n) или ненаправленного режима. Здесь maxAB представляет максимальное значение из candIntraPredModeA и candIntraPredModeB, и n может представлять собой целое число, равное 1, 2 или более. Ненаправленный режим может включать по меньшей мере один из планарного режима или режима DC. Например, MPM-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 3. Индекс в таблице 3 определяет, но без ограничения, положение или приоритет MPM-кандидатов. Например, максимальный индекс может быть присвоен режиму DC. Если разность между candIntraPredModeA и candIntraPredModeB находится в пределах предварительно определенного диапазона пороговых значений, будет применен MPM-кандидат 1 из таблицы 3, в ином случае может быть применен MPM-кандидат 2. Здесь диапазон пороговых значений может представлять собой диапазон, больший или равный 2 и меньший или равный 62.
[00248] Альтернативно, если candIntraPredModeA и candIntraPredModeB являются разными и только один из candIntraPredModeA и candIntraPredModeB находится в ненаправленном режиме, MPM-кандидаты текущего блока могут включать по меньшей мере один из maxAB, (maxAB-n), (maxAB+n) или ненаправленного режима. Здесь maxAB представляет максимальное значение из candIntraPredModeA и candIntraPredModeB, и n может представлять собой целое число, равное 1, 2 или более. Ненаправленный режим может включать по меньшей мере один из плоского режима или режима DC. Например, MPM-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 4. Индекс в таблице 4 определяет, но без ограничения, положение или приоритет MPM-кандидатов. Например, индекс 0 может быть присвоен режиму DC, или может быть присвоен максимальный индекс.
[00249] Альтернативно, если candIntraPredModeA и candIntraPredModeB являются разными, и оба из candIntraPredModeA и candIntraPredModeB являются ненаправленными режимами, MPM-кандидаты текущего блока могут включать по меньшей мере один из ненаправленного режима, вертикального режима, горизонтального режима, (вертикального режима-m), (вертикального режима+m), (горизонтального режима-m) или (горизонтального режима+m). Здесь m может представлять собой целое число, равное 1, 2, 3, 4 или более. Ненаправленный режим может включать по меньшей мере один из плоского режима или режима DC. Например, MPM-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 5. Индекс в таблице 5 определяет, но без ограничения, положение или приоритет MPM-кандидатов. Например, index1 может быть присвоен горизонтальному режиму, или может быть присвоен максимальный индекс.
[00250] МРМ-кандидат из вышеупомянутого множества МРМ-кандидатов, указанный индексом МРМ, может быть задан как режим внутреннего предсказания текущего блока. Индекс MPM может кодироваться и сообщаться устройством для кодирования изображения.
[00251] Как описано выше, режим внутреннего предсказания может быть получен путем выборочного использования любого из режима по умолчанию или МРМ-кандидата. Выбор может быть сделан на основе флага, сообщаемого устройством для кодирования. В этом случае флаг может указывать то, задается ли режим внутреннего предсказания текущего блока как режим по умолчанию. Если флаг имеет первое значение, режим внутреннего предсказания текущего блока задается как режим по умолчанию, а если нет, может передаваться информация о том, является ли режим внутреннего предсказания текущего блока производным от МРМ-кандидата, индекса МРМ и т.д.
[00252] Цветоразностная компонента может иметь такую же группу кандидатов, как группа режимов-кандидатов предсказания компоненты яркости, или может включать группу кандидатов, выполненную из части группы режимов-кандидатов предсказания компоненты яркости. В этом случае группа режимов-кандидатов предсказания цветоразностной компоненты может иметь фиксированную конфигурацию или переменную (или адаптивную) конфигурацию.
[00253] (Фиксированная конфигурация группы кандидатов в сравнении с переменной конфигурацией группы кандидатов)
[00254] В качестве примера фиксированной конфигурации, как группа режимов-кандидатов предсказания цветоразностной компоненты для выполнения внутреннего предсказания сконфигурированы некоторые режимы в группе режимов-кандидатов предсказания компоненты яркости (например, предполагается, что этими некоторыми режимами являются по меньшей мере один из режима DC, планарного режима, вертикального режима, горизонтального режима или диагонального режима <предполагается, что некоторые режимы представляют собой по меньшей мере один из DL, UL или UR, DL - режим, в котором предсказание выполняется от нижнего правого угла до верхнего правого угла, UL - режим, в котором предсказание выполняется от верхнего левого угла до нижнего правого угла, и UR - режим, в котором предсказание выполняется от верхнего правого угла до нижнего левого угла, и предполагается, что указанными некоторыми режимами являются, соответственно, режимы 2, 34 и 66 на фиг. 9.
[00255] В качестве примера переменной конфигурации, как базовая группа режимов-кандидатов предсказания цветоразностной компоненты сконфигурированы некоторые режимы в группе режимов-кандидатов предсказания компоненты яркости (например, предполагается, что этими некоторыми режимами являются режим DC, планарный режим, вертикальный режим, горизонтальный режим и диагональный режим UR, и предполагается, что в качестве базовой группы режимов-кандидатов предсказания в целом сконфигурировано больше выбранных режимов). Однако режимы, включенные в группу кандидатов, могут неверно отражать характеристики цветоразностной компоненты. Для улучшения в данном отношении, конфигурация группы режимов-кандидатов предсказания цветоразностной компоненты может быть изменена.
[00256] Например, по меньшей мере один режим предсказания блока или подблока компоненты яркости в положении, идентичном или соответствующем блоку цветоразностной компоненты, может быть включен (описанный ниже пример 1) в базовую группу режимов-кандидатов предсказания, или вместо некоторых режимов может быть выполнена новая группа режимов-кандидатов предсказания (описанный ниже пример 2). Например, в случае если соответствующее положение в компоненте яркости, соответствующее цветоразностной компоненте <в соответствии с форматом цвета>, нельзя сконфигурировать при помощи одного блока, но конфигурируется как множество подблоков путем разделения одного блока, представляется блок предварительно заданного положения. В этом случае положение предварительно заданного блока определяется в верхнем левом, верхнем правом, нижнем левом, нижнем правом, среднем, верхнем среднем, нижнем среднем, левом среднем и правом среднем положениях в блоке компоненты яркости, соответствующем блоку цветоразностной компоненты; если оно различается до координаты внутри изображения, оно может представлять собой положение, включающее координату (0, 0) вверху слева, положение, включающее координату (blk_width-1, 0) вверху справа, положение, включающее координату (0, blk_height-1) внизу слева, положение, включающее координату (blk_width-1, blk_height-1) внизу справа, положение, включающее одну из координат (blk_width/2-1, blk_height/2-1), (blk_width/2, blk_height/2-1), (blk_width/2-1, blk_height/2) и (blk_width/2, blk_height/2) в центре, положение, включающее одну из координат (blk_width/2-1, 0) и (blk_width/2, 0) вверху посередине, положение, включающее одну из координат (blk_width/2-1, blk_height-1) и (blk_width/2, blk_height-1) внизу посередине, положение, включающее одну из координат (0, blk_height/2-1) и (0, blk_height/2) слева посередине, и положение, включающее одну из координат (blk_width-1, blk_height/2-1) и (blk_width-1, blk_height/2) справа посередине. То есть это означает блок, включающий положение координаты. Вышеупомянутые blk_width и blk_height относятся к горизонтальной и вертикальной длинам блока яркости, и координаты не ограничиваются вышеописанным случаем и могут включать другие случаи. В следующем описании для режима предсказания <или цветового режима> компоненты яркости, добавляемого в группу режимов-кандидатов предсказания цветоразностной компоненты, по меньшей мере один режим предсказания добавляется в соответствии с предварительно заданным приоритетом <например, в предположении верхний левый-верхний правый-нижний левый-нижний правый-средний>. Если добавляются два режима предсказания, режим верхнего левого блока и режим верхнего правого блока добавляются в соответствии с вышеперечисленными настройками. В этом случае, если блоки в верхнем левом и верхнем правом положениях сконфигурированы посредством одного блока, добавляется режим нижнего левого блока, имеющего следующий приоритет.
[00257] Альтернативно в базовую группу режимов-кандидатов предсказания могут быть включены по меньшей мере один режим предсказания (который может определять блоки, смежные с блоком в настоящем положении, если в группу режимов-кандидатов предсказания цветоразностной компоненты включено множество режимов, блоки с предварительно заданным приоритетом и режимы предсказания подблоков с предварительно заданным приоритетом в пределах подблоков могут быть включены как набор кандидатов в соответствии с приоритетом) смежных блоков слева, сверху, сверху слева, сверху справа, снизу слева и т.п. или подблоков соответствующих блоков (если смежные блоки сконфигурированы множеством блоков), или вместо некоторых режимов может быть сконфигурирована новая группа режимов-кандидатов предсказания.
[00258] Если добавить дополнительное содержимое в приведенное выше описание, может быть включен не только режим предсказания блока компоненты яркости или смежного блока (блока яркости), но также по меньшей мере один режим, производный от режима предсказания, может быть включен в качестве режима предсказания цветоразностной компоненты. Следующие примеры будут включать пример, в котором режим предсказания компоненты яркости принят в качестве режима предсказания цветоразностной компоненты, и подробное описание о примере принятия режима предсказания (например, если принять в качестве примеров смежный режим и направленный режим этого режима, если горизонтальный режим 18 представляет собой режим предсказания компоненты яркости, режимы 17, 19, 16 и т.д. эквивалентны производному режиму предсказания, и если множество режимов предсказания сконфигурированы из цветоразностной компоненты как группа режимов-кандидатов предсказания цветоразностной компоненты, приоритет конфигурации группы кандидатов может быть задан в порядке от режима предсказания компоненты яркости до режима, производного от режима предсказания компоненты яркости), производного от режима предсказания компоненты яркости, или режима предсказания, производного от режима предсказания смежного блока, в качестве группы режимов-кандидатов предсказания цветоразностной компоненты будет опущено. Однако могут применяться одни и те же или измененные настройки, описанные ниже.
[00259] В качестве примера (1), если режим предсказания компоненты яркости совпадает с одной из групп режимов-кандидатов предсказания цветоразностной компоненты, конфигурация групп кандидатов является одинаковой (количество групп кандидатов не изменяется), и конфигурации выборочных групп кандидатов отличаются, если совпадение отсутствует (количество групп кандидатов увеличивается).
[00260] Если конфигурации групп кандидатов в приведенном выше примере одинаковы, индексы режимов предсказания могут быть одинаковыми, или могут быть присвоены другие индексы, которые могут быть определены в соответствии с настройками кодирования/декодирования. Например, если индексами группы режимов-кандидатов предсказания цветоразностной компоненты являются плоский 0, DC1, вертикальный 2, горизонтальный 3 и диагональный UR4, в случае когда компонента яркости является горизонтальной, конфигурация группы режимов-кандидатов предсказания остается неизменной, и неизменными остаются индексы каждого режима предсказания, или могут быть присвоены другие индексы (в данном примере - горизонтальный 0, плоский 1, DC2, вертикальный 3 и диагональный UR4). Представленный выше сброс индексов может представлять собой пример процесса, выполняемого с целью генерирования меньшего количества битов режимов в ходе кодирования/декодирования режима предсказания (предположение: присвоение меньшего количества битов малому индексу).
[00261] Если конфигурации групп кандидатов в приведенных выше примерах не являются одинаковыми, они могут быть добавлены, если индексы режимов предсказания могут оставаться такими же, или могут быть присвоены другие индексы. Например, в случае когда настройка индексов группы режимов-кандидатов предсказания является такой же, как в предыдущем примере, если режимом предсказания компоненты яркости является диагональный DL, конфигурация группы режимов-кандидатов предсказания увеличивается на 1, а индекс режима предсказания существующей группы кандидатов остается неизменным. Кроме того, индекс вновь добавленного режима может использоваться как последний (в данном примере - диагональный DL5), или могут быть присвоены другие индексы (в данном примере - диагональный DLO, плоский 1, DC2, вертикальный 3, горизонтальный 4 и диагональный UL5).
[00262] В качестве примера (2), если режим предсказания компоненты яркости совпадает с одной из групп режимов-кандидатов предсказания цветоразностной компоненты, конфигурация групп кандидатов является такой же (режимы групп кандидатов не изменяются), и конфигурации групп кандидатов отличаются, если совпадение отсутствует (по меньшей мере один из режимов групп кандидатов заменяется).
[00263] Если конфигурации групп кандидатов в приведенных выше примерах являются одинаковыми, индексы режимов предсказания могут являться одинаковыми, или могут быть присвоены другие индексы. Например, если индексами группы режимов-кандидатов предсказания цветоразностной компоненты являются плоский 0, DC1, вертикальный 2, горизонтальный 3 и диагональный UR4, в случае когда режим предсказания компоненты яркости является вертикальным, конфигурация группы режимов-кандидатов предсказания остается неизменной, и неизменными остаются индексы каждого режима предсказания, или могут быть присвоены другие индексы (в данном примере - вертикальный 0, горизонтальный 1, диагональный UL2, плоский 3 и DC4; данный пример включает, но без ограничения, пример, в котором направленный режим предшествует, в случае если режим компоненты яркости является направленным, и пример, в котором ненаправленный режим предшествует, в случае если режим компоненты яркости является ненаправленным).
[00264] Если конфигурации групп кандидатов в приведенных выше примерах отличаются, остается неизменным режим, в котором индекс режима предсказания остается неизменным, и режиму изменения может быть присвоен индекс режима замены, или множеству режимов предсказания могут быть присвоены индексы, отличные от существующего индекса. Например, если настройка индексов группы режимов-кандидатов предсказания является такой же, как в предыдущем примере, в случае если режимом предсказания компоненты яркости является диагональный DL, один режим в группе режимов-кандидатов предсказания (в данном примере - диагональный UL) будет заменен, а индекс режима предсказания существующей группы кандидатов остается неизменным. Индекс режима, подлежащего замене, присваивается как индекс (например, диагональный DL4) вновь добавленного режима, или могут быть присвоены другие индексы (в данном примере - диагональный DL0, плоский 1, DC2, вертикальный (3), горизонтальный 4).
[00265] В предшествующем описании пример выполнения сброса индексов приведен с целью присвоения меньшего количества битов режимов, но это лишь пример в соответствии с настойками кодирования/декодирования, и могут иметь место и другие случаи. Если индекс режима предсказания не изменяется, может выполняться преобразование в двоичную форму, при котором малому индексу присваивается небольшое количество битов, или может выполняться преобразование в двоичную форму, при котором биты присваиваются независимо от размера индекса. Например, если группой режимов-кандидатов предсказания сброса является плоский 0, DC1, вертикальный 2, горизонтальный 3 и диагональный DL4, даже если диагональному DL присваивается большой индекс, поскольку диагональный DL представляет собой режим, полученный из компоненты яркости, присваивается меньше битов режимов, чем другим режимам предсказания.
[00266] Режим предсказания может представлять собой режим, поддерживаемый способом, не зависящим от типа изображения, или может представлять собой режим, определяющий поддержку в соответствии с некоторыми типами изображения (например, режим, поддерживаемый типом I изображения, но не поддерживаемый типом Р или B изображения).
[00267] Содержимое, описанное при помощи приведенных выше примеров, ограничено лишь настоящим примером, и возможны дополнительные или другие, модифицированные примеры. Кроме того, настройки кодирования/декодирования, описанные при помощи приведенных выше примеров, могут определяться в неявном виде, или в элементы видео, последовательности, кадра, среза, плитки и т.д. может быть в явном виде включена связанная информация.
[00268] (Получение значений предсказания в том же цветовом пространстве в сравнении с получением значений предсказания в других цветовых пространствах)
[00269] В случае режима внутреннего предсказания, описанного при помощи приведенного выше примера, описан режим предсказания в отношении способа (например, экстраполяции, интерполяции, усреднения и т.д.) получения данных для генерирования блока предсказания из смежных областей в пределах одного времени и пространства.
[00270] В дополнение, может поддерживаться режим предсказания в отношении способа получения данных для генерирования блока предсказания из областей, расположенных в пределах одного времени и разных пространств.
[00271] Например, примером вышеописанного содержимого может являться режим предсказания в отношении способа получения данных для генерирования блока предсказания в других цветовых пространствах с использованием корреляции между цветовыми пространствами. В данном случае, когда в качестве примера принято пространство YCbCr, корреляция между цветовыми пространствами может представлять корреляцию между Y и Cb, Y и Cr, Cb и Cr. То есть в случае цветоразностной компоненты Cb или Cr восстановленный блок компоненты яркости, соответствующий текущему блоку, может быть сгенерирован как блок предсказания текущего блока (базовой настройкой следующего примера является цветовая разность в сравнении с яркостью). Альтернативно восстановленный блок некоторых цветоразностных компонент (Cb или Cr), соответствующий текущему блоку некоторых цветоразностных компонент (Cr или Cb), может быть сгенерирован как блок предсказания цветоразностных компонент (Cr или Cb). В этом случае восстановленный блок других цветовых пространств может быть напрямую сгенерирован как блок предсказания (т.е. без выполнения коррекции), или как блок предсказания может быть сгенерирован блок, полученный с учетом корреляции между цветами (например, существующий восстановленный блок подвергается коррекции по формуле P=a*R+b, где a и b представляют значения для коррекции, R и P, соответственно, представляют значения, полученные в других цветовых пространствах, и значения предсказания текущего цветового пространства).
[00272] В данном примере описание осуществляется в предположении, что данные, полученные с использованием корреляции цветового пространства, используются в качестве значения предсказания текущего блока, но оно также возможно в случае, когда данные используются в качестве поправочного значения для коррекции значения предсказания существующего текущего блока (например, в качестве поправочных значений используются остаточные значения других цветовых пространств; то есть существуют другие значения предсказания, и эти значения предсказания являются скорректированными; и хотя эти значения предсказания добавляются с целью получения также значения предсказания, описание сделано для подробного различения). В настоящем описании, как предполагается, описан первый случай, но настоящее изобретение им не ограничено, и поправочные значения могут использоваться аналогично или переменным образом.
[00273] Режим предсказания может представлять собой режим, поддерживаемый способом, не зависящим от типа изображения, или может представлять собой режим, определяющий поддержку в соответствии с некоторыми типами изображения (например, режим, поддерживаемый типом I изображения, но не поддерживаемый типом Р или B изображения).
[00274] (Сравнение с получением связанной информации)
[00275] В приведенном выше примере информация о корреляции (a, b и т.д.) между цветовыми пространствами может в явном виде включать связанную информацию, или она может быть получена в неявном виде. В данном случае область сравнения для получения связанной информации может представлять собой 1) текущий блок цветоразностной компоненты и соответствующий блок компоненты яркости или 2) смежную область (например, левый блок, верхний блок, верхний левый блок, верхний правый блок, нижний левый блок и т.д.) текущего блока цветоразностной компоненты и смежную область соответствующего блока компоненты яркости. Настоящий пример представляет собой пример, в котором первое может выражаться в явном виде, а последнее может выражаться в неявном виде.
[00276] Например, связанная информация получается путем сравнения по меньшей мере одного значения пикселя каждого цветового пространства (в данном случае значением пикселя, подлежащим сравнению, может являться значение пикселя, полученное из одного пикселя в каждом цветовом пространстве, и может являться значение пикселя, полученное из множества пикселей). Значения пикселя, получаемые из процесса фильтрации путем взвешенного усреднения или т.п., то есть количество пикселей, являющихся опорными или используемых для сравнения одного значения пикселя каждого цветового пространства, может представлять собой один пиксель в сравнении с одним пикселем, один пиксель в сравнении с множеством пикселей или т.п. В этом случае первое может представлять собой цветовое пространство для генерирования значения предсказания, а последнее может представлять собой опорное цветовое пространство. Приведенный выше пример может являться возможным в соответствии с форматом цвета, или значение пикселя для одного пикселя цветоразностной компоненты можно сравнить со значением пикселя для соответствующего пикселя компоненты яркости способом, не зависящим от формата цвета, значение пикселя для одного пикселя цветоразностной компоненты можно сравнить со значением пикселя, полученным путем выполнения фильтра <a-tapseparate1Dfilter, bxcmasknon-separable2Dfilter, d-tapdirectionalfilter и т.д.> в отношении множества пикселей компоненты яркости, и любой из этих двух способов может быть использован в соответствии с настройками кодирования/декодирования. Выше описаны примеры цветовой разности и яркости, однако могут также иметь место такие преобразованные примеры, как цветовая разность <Cb> и цветовая разность <Cr>.
[00277] В приведенном выше примере областью сравнения, если связанная информация получена в неявном виде, может являться ближайшая линия пикселей текущего блока текущей цветовой компоненты (например, пиксели, включая от p[-1, -1] до p[blk_width-1, -1], от p[-1, 0] до p[-1, blk_height-1]), и соответствующие линии пикселей других цветовых пространств или множество линий пикселей текущего блока текущей цветовой компоненты (например, в вышеописанном случае пиксели, включенные во множество линий пикселей, включающих от p[-2, -2] до p[blk_width-1, -2], от p[-2, -1] до p[-2, blk_height-1], и соответствующие линии пикселей других цветовых пространств.
[00278] В частности, в предположении, что форматом цвета является формат 4:2:0, для сравнения значения пикселя для одного пикселя в текущем цветовом пространстве (в данном примере - цветовой разности) может быть использовано значение пикселя для одного пикселя в предварительно заданном положении (в данном примере выбранном из верхнего левого, верхнего правого, нижнего левого и нижнего правого в пределах 2×2) в 4 соответствующих пикселях (один пиксель цветоразностной компоненты соответствует 4 пикселям в пределах 2×2 компоненты яркости) в других цветовых пространствах (в данном примере - яркости бита). Альтернативно для сравнения значения пикселя для одного пикселя в пространстве цветности, может быть использовано значение пикселя, полученное путем выполнения фильтрации в отношении множества пикселей (например, по меньшей мере двух пикселей в соответствующих пикселях 2×2 и т.д.) в пространстве яркости.
[00279] Подводя итог, информация о параметрах может быть получена из восстановленных пикселей в смежной области текущего блока и восстановленных пикселей в других соответствующих цветовых пространствах. То есть на основе связанной информации может быть сгенерирован по меньшей мере один параметр (например, a или b, a1, b1 или a2, b2 и т.д.), и он может быть использован как значение, которое умножается на или прибавляется к пикселям восстановленных блоков в других цветовых пространствах (например, a, a1, a2/b, b1, b2).
[00280] В этом случае обработка сравнения может быть выполнена после определения доступности пикселей, подвергнутых сравнению в приведенном выше примере. Например, если смежная область доступна, ее можно использовать как пиксель для сравнения, и, если смежная область недоступна, она может быть определена в соответствии с настройками кодирования/декодирования. Например, если пиксель в смежной области недоступен, он может быть исключен из процесса получения связанной информации цветового пространства, или он может быть включен в процесс сравнения после заполнения недоступной области, что может определяться в соответствии с настройками кодирования/декодирования.
[00281] Например, при исключении из процесса получения информации о корреляции между цветовыми пространствами, этот пример может являться примером, соответствующим случаю, в котором недоступной является область, содержащая пиксели по меньшей мере одного цветового пространства. Подробнее, это может являться примером, соответствующим случаю, в котором недоступны пиксели одного из двух цветовых пространств, или недоступны пиксели двух цветовых пространств, что может быть определено в соответствии с настройками кодирования/декодирования.
[00282] Альтернативно, если процесс получения информации о корреляции между цветовыми пространствами выполняется после заполнения данных для сравнения в недоступной области (или операции, аналогичной процессу заполнения опорного пикселя), могут быть использованы различные способы заполнения. Например, для заполнения может быть использовано предварительно заданное значение пикселя (например, срединное значение 1 из bit_depth << (bit_depth-1), значение между минимальным и максимальным значениями фактического пикселя изображения, среднее фактического пикселя изображения, срединное значение и т.д.), для заполнения могут быть использованы смежные пиксели или значение, полученное путем выполнения фильтрации (операции, аналогичной процессу фильтрации опорных пикселей) в отношении смежных пикселей, или могут быть использованы другие способы.
[00283] На фиг. 10 изображен пример сравнения пикселей из разных цветовых пространств с целью получения информации о корреляции. Для простоты описания предполагается, что используется формат цвета 4:4:4. В этом случае описан следующий процесс в соответствии с компонентным соотношением формата цвета (т.е. процесс, включающий процесс преобразования на основе компонентного соотношения).
[00284] R0 представляет пример, в котором могут использоваться области цветового пространства с обеих сторон. Поскольку доступными областями являются области цветового пространства с обеих сторон, в процессе сравнения с целью получения связанной информации могут использоваться пиксели в соответствующих областях.
[00285] R1 представляет пример, в котором одна из областей цветового пространства с обеих сторон недоступна (в этом примере смежная область текущего цветового пространства доступна, тогда как соответствующие области других цветовых пространств недоступны). Недоступные области могут быть использованы для процесса сравнения после использования различных способов заполнения недоступных областей.
[00286] R2 представляет пример, в котором одна из областей цветового пространства с обеих сторон недоступна (в этом примере смежная область текущего цветового пространства недоступна, тогда как соответствующие области других цветовых пространств доступны). Так как с одной стороны имеется недоступная область, соответствующие области двух цветовых пространств нельзя использовать в процессе сравнения.
[00287] R3 представляет пример, в котором области цветового пространства с обеих сторон недоступны. Недоступные области заполняются с использованием различных способов и могут быть использованы для процесса сравнения.
[00288] R4 представляет пример, в котором области цветового пространства с обеих сторон недоступны. Так как имеются недоступные области с обеих сторон, соответствующие области цветовых пространств с обеих сторон нельзя использовать в процессе сравнения.
[00289] В дополнение, в отличие от фиг. 10, если смежные области текущего блока или соответствующие области других цветовых пространств недоступны, могут быть выполнены различные настройки.
[00290] В качестве примера, a и b могут быть присвоены предварительно заданные значения (в данном примере a равно 1, и b равно 0). Этот случай может подразумевать поддержание режима, в котором данные в другом цветовом пространстве заполняются блоком предсказания текущего блока. Кроме того, данный случай может допускать, при выполнении кодирования/декодирования режима предсказания, чтобы настройка или приоритет вероятности появления (или выбора) режима имел настройку, отличную от существующего случая (например, вероятность выбора задается как менее высокая, или приоритет задается как менее высокий; другими словами, вследствие низкой точности связанной информации, точность блока предсказания, полученного при помощи данного режима предсказания, может быть очень низкой, поэтому оценивается, что режим не будет выбран в качестве оптимального режима предсказания).
[00291] Например, поскольку отсутствуют данные для сравнения, режим заполнения данных другого цветового пространства блоком предсказания текущего блока может не поддерживаться. То есть этот режим может представлять собой режим, поддерживаемый тогда, когда имеется по меньшей мере одна доступная область. В этом случае при выполнении кодирования/декодирования режима предсказания оно может быть настроено так, чтобы допускать или не допускать замену данного режима другими режимами. Первый случай может представлять собой настройку, при которой количество групп режимов-кандидатов предсказания сохраняется, и последний случай представляет собой настройку, при которой количество групп режимов-кандидатов предсказания уменьшается.
[00292] Настоящее изобретение не ограничено приведенными выше примерами, и также могут иметь место различные преобразованные примеры.
[00293] В приведенном выше примере случай недоступности представляет собой случай, в котором область находится вне границ изображения (например, кадра, среза, плитки и т.д.) (то есть текущий блок и область не включены в одно изображение), если область не была кодирована/декодирована. Например, случай недоступности может быть добавлен в соответствии с настройками кодирования/декодирования (например, constrained_intra_pred_flag и т.д., например, если типом является срез P или B, вышеуказанный флаг равен 1, и режимом кодирования соответствующей области является предсказание, осуществляемое между изображениями).
[00294] В следующем примере вышеупомянутое ограничение может возникнуть при генерировании блока предсказания текущего блока с использованием восстановленных данных из других цветовых пространств после получения связанной информации путем сравнения двух цветовых пространств. То есть, как описано выше, если определено, что соответствующие области других цветовых пространств, соответствующих текущему блоку, недоступны, использование этого режима может быть ограничено, или этот режим является недоступным.
[00295] Для генерирования значения предсказания текущего блока может быть использован параметр, представляющий информацию о корреляции между цветовыми пространствами, полученную при помощи вышеописанного процесса и восстановленных данных других цветовых пространств, соответствующих текущему блоку. В этом случае восстановленные данные других цветовых пространств, используемые для предсказания текущего блока, могут представлять собой значение пикселя для пикселя в предварительно заданном положении или значение пикселя, полученное при помощи процесса фильтрации.
[00296] Например, в случае 4:4:4 для генерирования значения предсказания одного пикселя в пространстве цветности, может быть использовано значение пикселя для соответствующего пикселя в пространстве яркости. Альтернативно для генерирования значения предсказания одного пикселя в пространстве цветности, могут быть использованы значения пикселя, полученные путем фильтрации множества пикселей в пространстве яркости (например, пикселей в таких направлениях, как влево, вправо, вверх, вниз, вверх влево, вверх вправо, вниз влево и вниз вправо путем центрирования на соответствующем пикселе, если, в качестве примеров, применяются 5-отводные и 7-отводные фильтры, понятно, что имеются два пикселя и три пикселя конкретно в направлениях влево, вправо, вверх и вниз, соответственно, путем центрирования на соответствующем пикселе).
[00297] Например, в случае 4:2:0, для генерирования значения предсказания одного пикселя в пространстве цветности может быть использовано значение пикселя для одного пикселя в предварительно заданном положении (выбранном из верхнего левого, верхнего правого, нижнего левого и нижнего правого) из четырех соответствующих пикселей (один пиксель цветоразностной компоненты соответствует пикселям 2×2 компоненты яркости) в пространстве яркости. Альтернативно для генерирования значения предсказания одного пикселя в пространстве цветности могут быть использованы значения пикселя, полученные путем фильтрации множества пикселей (например, по меньшей мере двух пикселей в соответствующих пикселях 2×2 или пикселей в таких направлениях, как влево, вправо, вверх, вниз, вверх влево, вверх вправо, вниз влево и вниз вправо, путем центрирования на пикселях 2×2) в пространстве яркости.
[00298] Подводя итог, для получения значения пикселя, используемого в качестве значения предсказания пикселя в текущем цветовом пространстве, к значению пикселя, полученному в других цветовых пространствах, может быть применен (путем умножения или сложения и т.д.) параметр, представляющий информацию о корреляции, полученную при помощи вышеописанного процесса.
[00299] В приведенном выше примере были описаны некоторые форматы цвета, некоторые процессы получения значений пикселя и т.д., однако настоящее изобретение не ограничено ими, и в других случаях могут использоваться такие же или модифицированные примеры.
[00300] Описанное содержимое (получение значений предсказания в одном цветовом пространстве в сравнении с получением значений предсказания в разных цветовых пространствах) может быть применено к конфигурации фиксированной группы кандидатов в сравнении с конфигурацией переменной группы кандидатов. Например, если значение предсказания нельзя получить в других цветовых пространствах, в группу кандидатов может быть включен режим замены значения предсказания.
[00301] При помощи вышеописанного примера, в случае вышеописанного режима предсказания, в элементы изображения, последовательности, кадра, среза и плитки может быть включена связанная информация (например, информация о поддержке или ее отсутствии, информация о параметрах и т.д.).
[00302] Подводя итог, режим предсказания (режим А), связанный со способом (вышеуказанный способ представляет собой способ получения данных для генерирования блоков предсказания из смежных областей в пределах одного времени и одного пространства в соответствии с настройками кодирования/декодирования), используется для конфигурирования группы режимов-кандидатов предсказания, или, помимо режима предсказания, группа режимов-кандидатов предсказания может содержать режим предсказания (режим B), связанный со способом (вышеуказанный способ представляет собой способ получения данных для генерирования блоков предсказания из областей, расположенных в пределах одного времени и разных пространств).
[00303] В приведенном выше примере группа режимов-кандидатов предсказания может быть сконфигурирована с использованием только режима А или только режима B, и группа режимов-кандидатов предсказания может быть сконфигурирована путем комбинирования режима А и режима B. Информация о настройках конфигурации группы режимов-кандидатов предсказания может быть в явном виде сгенерирована корреляционным способом, или информация о конфигурации группы режимов-кандидатов предсказания может быть в неявном виде определена заранее.
[00304] Например, группы режимов-кандидатов предсказания могут иметь одну конфигурацию независимо от каких-либо настроек кодирования/декодирования (в данном примере - типов изображения) или иметь одну конфигурацию в соответствии с некоторыми настройками кодирования/декодирования (например, режим A, режим B_1<цветовой режим> и режим B_2<режим копирования цвета> используются для конфигурирования группы режимов-кандидатов предсказания в типе I изображения, режим A и режим B_1 используются для конфигурирования группы режимов-кандидатов предсказания в типе P изображения, и режим A и режим B_2 используются для конфигурирования группы режимов-кандидатов предсказания в типе B изображения).
[00305] В настоящем описании группа режимов-кандидатов предсказания для компоненты яркости изображена на фиг. 9, и предполагается, что группа режимов-кандидатов предсказания для цветоразностной компоненты выполнена как горизонтальный, вертикальный и диагональный режимы на фиг. 9 (плоский, DC, цветовой режим 1, цветовой режим 2, цветовой режим 3, режим 1 копирования цвета, режим 2 копирования цвета, режим 1 смежного блока (левого блока), смежный режим 2 (верхний блок)), однако также могут иметься другие настройки различных групп режимов-кандидатов предсказания.
[00306] В способе кодирования изображения согласно варианту осуществления настоящего изобретения внутреннее предсказание может быть выполнено следующим образом. Внутреннее предсказание секции предсказания может содержать этап конфигурации опорных пикселей, этап генерирования блока предсказания, этап определения режима предсказания и этап кодирования режима предсказания. Кроме того, устройство для кодирования изображения может быть выполнено с возможностью включения секции конфигурации опорных пикселей, секции генерирования блока предсказания и секции кодирования режима предсказания для реализации этапа конфигурации опорных пикселей, этапа генерирования блока предсказания, этапа определения режима предсказания и этапа кодирования режима предсказания. Некоторые этапы вышеописанного процесса могут быть опущены, или могут быть добавлены другие этапы, и их порядок может быть заменен на другие порядки, отличные от приведенного выше порядка.
[00307] Кроме того, в способе декодирования изображения согласно варианту осуществления настоящего изобретения внутреннее предсказание может быть выполнено следующим образом. Внутреннее предсказание секции предсказания может предусматривать этап декодирования режима предсказания, этап конфигурации опорных пикселей и этап генерирования блока предсказания. Кроме того, устройство для декодирования изображения может быть выполнено с возможностью включения секции декодирования режима предсказания для реализации этапа декодирования режима предсказания, секции конфигурации опорных пикселей для реализации этапа конфигурации опорных пикселей и секции генерирования блока предсказания для реализации этапа генерирования блока предсказания. Некоторые из вышеописанных этапов могут быть опущены, или могут быть добавлены другие этапы, и их порядок может быть заменен на другие порядки, отличные от приведенного выше порядка.
[00308] На этапе генерирования блока предсказания может выполняться внутреннее предсказание в элементе текущего блока (например, блока кодирования, блока предсказания, блока преобразования и т.д.) или может выполняться внутреннее предсказание в элементе предварительно определенного подблока. С этой целью может использоваться флаг, указывающий, разделен ли текущий блок на подблоки для выполнения внутреннего предсказания. Этот флаг может кодироваться и сообщаться устройством для кодирования. Если флаг равен первому значению, текущий блок разделен на множество подблоков, в ином случае текущий блок не разделен на множество подблоков. В данном случае разделение может представлять собой дополнительное разделение, выполненное после разделения на основе вышеописанной древовидной структуры. Подблоки, принадлежащие к текущему блоку, совместно используют один режим внутреннего предсказания, но для каждого подблока могут быть сконфигурированы разные опорные пиксели. Альтернативно подблоки могут использовать один режим внутреннего предсказания и одинаковые опорные пиксели. Альтернативно подблоки могут использовать одинаковые опорные пиксели, но для каждого подблока могут использоваться разные режимы внутреннего предсказания.
[00309] Разделение может выполняться в вертикальном или горизонтальном направлении. Направление разделения может быть определено на основе флага, сообщаемого устройством для кодирования. Например, если флаг имеет первое значение, разделение может выполняться в горизонтальном направлении, в ином случае разделение может выполняться в вертикальном направлении. Альтернативно направление разделения может определяться на основе размера текущего блока. Например, если высота текущего блока больше предварительно определенного порогового значения, разделение может выполняться в горизонтальном направлении, и, если ширина текущего блока больше предварительно определенного порогового значения, разделение может выполняться в вертикальном направлении. В данном случае пороговое значение может представлять собой фиксированное значение, предопределенное в устройстве для кодирования/декодирования, или пороговое значение может определяться на основе информации о размере блока (например, размере максимального блока преобразования, размере максимального блока кодирования и т.д.). Информация о размере блока может сообщаться в по меньшей мере одном уровне последовательности, кадра, среза, плитки, брикета или строки CTU.
[00310] Количество подблоков может определяться переменным образом на основе размера, формы, глубины разделения, режима внутреннего предсказания и т.д. текущего блока. Например, если текущий блок имеет размер 4×8 или 8×4, текущий блок может быть разделен на два подблока. Альтернативно, если текущий блок имеет размер, больший или равный 8×8, текущий блок может быть разделен на четыре подблока.
[00311] В настоящем описании главным образом будет описан кодер. В случае декодера подробное описание в отношении декодера опущено, поскольку оно может быть получено из содержимого кодера в обратном порядке.
[00312] На фиг. 11 представлена принципиальная схема для разъяснения конфигурации опорных пикселей для внутреннего предсказания. Размер и форма (M×N) текущего блока, используемого для предсказания, могут быть получены из секции разделения блока и будут описаны на основе предположения о том, что внутреннее предсказание поддерживается в пределах диапазона 4×4-128×128. В целом внутреннее предсказание может выполняться с использованием элемента блока предсказания, однако, в соответствии с настройками секции разделения блока, может выполняться внутреннее предсказание в элементах блоков кодирования и блоков преобразования. После подтверждения информации о блоке секция конфигурации опорных пикселей может конфигурировать опорный пиксель, используемый для предсказания текущего блока. В этом случае обработка опорного пикселя может выполняться временным запоминающим устройством (например, массивом <Array>, главным массивом или вспомогательным массивом и т.д.), опорный пиксель может генерироваться и удаляться во время каждого процесса внутреннего предсказания блока, и размер временного запоминающего устройства может определяться в соответствии с конфигурацией опорного пикселя.
[00313] Данный пример описывается на основе предположения о том, что для предсказания текущего блока путем центрирования на текущем блоке используются левый блок, верхний блок, верхний левый блок, верхний правый блок и нижний левый блок. Однако он этим не ограничен, и для предсказания текущего блока может использоваться группа блоков-кандидатов, имеющая другие конфигурации. Например, группа кандидатов для смежных блоков опорного пикселя может представлять собой пример в соответствии с растровым или Z-сканированием, и часть группы кандидатов может быть удалена в соответствии с порядком сканирования, или группа кандидатов может быть выполнена с возможностью включения других групп блоков-кандидатов (например, дополнительной конфигурации верхнего блока, нижнего блока, нижнего правого блока и т.д.).
[00314] Альтернативно для предсказания текущего блока могут использоваться блоки (например, имеющие соответствующие координаты согласно той же координате или компонентному композиционному соотношению в каждом цветовом пространстве), соответствующие текущему блоку в других цветовых пространствах (например, если текущий блок принадлежит к Cr, другие цветовые пространства соответствуют Y или Cb). Кроме того, для простоты описания описание выполнено в предположении, что предварительно заданное положение (левое, верхнее, верхнее левое, верхнее правое и нижнее левое) сконфигурировано как один блок, но в соответствующем положении может существовать по меньшей мере один блок. То есть в предварительно заданном положении согласно соответствующему блоку может существовать множество подблоков блока разделения.
[00315] Подводя итог, смежная область текущего блока может представлять собой положение опорного пикселя для внутреннего предсказания текущего блока, и положением опорного пикселя в соответствии с режимом предсказания можно считать область, соответствующую текущему блоку другого цветового пространства. В дополнение к приведенным выше примерам, может быть определено положение опорного пикселя, заданное в соответствии с режимом предсказания, способом и т.д. Например, если блок предсказания генерируется таким способом, как совпадение блоков, положением опорного пикселя можно считать область, в которой кодирование/декодирование было завершено перед текущим блоком текущего изображения, или область, включенную в диапазон поиска в области, где завершено кодирование/декодирование (например, включенной на левой стороне, или верхней стороне, или верхней левой стороне и верхней правой стороне текущего блока).
[00316] Как изображено на фиг. 11, опорный пиксель для предсказания текущего блока может быть сконфигурирован при помощи смежных пикселей левого блока, верхнего блока, верхнего левого блока, нижнего правого блока и нижнего левого блока (Ref_L, Ref_T, Ref_TL, Ref_TR и Ref_BL на фиг. 11). В этом случае опорный пиксель в целом состоит из пикселей смежного блока, ближайших к текущему блоку (a на фиг. 11), но также может включать другие пиксели (пиксели на b и других внешних линиях на фиг. 11). То есть может использоваться по меньшей мере одна из первой линии «а» пикселей, смежной с текущим блоком, второй линии «b» пикселей, смежной с первой линией пикселей, третьей линии пикселей, смежной со второй линией пикселей, или четвертой линии пикселей, смежной с третьей линией пикселей. Например, в соответствии с настройками кодирования/декодирования, множество линий пикселей может включать все от первой до четвертой линии пикселей или может включать только остальные линии пикселей за исключением третьей линии пикселей. Альтернативно множество линий пикселей может включать только первую линию пикселей и четвертую линию пикселей.
[00317] Текущий блок может выполнять внутреннее предсказание путем выборочной отсылки к любой из множества линий пикселей. В этом случае выбор может быть сделан на основе индекса (refIdx), сообщаемого устройством для кодирования. Альтернативно любая из множества линий пикселей может быть выборочно использована на основе размера, формы и типа разделения текущего блока, того, является ли режим внутреннего предсказания ненаправленным режимом, угла режима внутреннего предсказания и т.д. Например, если режимом внутреннего предсказания является планарный режим или режим DC, может использоваться только первая линия пикселей. Альтернативно только первая линия пикселей может использоваться, если размер (ширина или высота) текущего блока меньше или равен предварительно определенному пороговому значению. Альтернативно только первая линия пикселей может использоваться, если режим внутреннего предсказания больше предварительно определенного порогового угла (или меньше предварительно определенного порогового угла). Пороговый угол может представлять собой угол режима внутреннего предсказания, соответствующий режиму 2 и режиму 66 из вышеупомянутой группы режимов-кандидатов предсказания.
[00318] С другой стороны, пиксели, смежные с текущим блоком, можно классифицировать как по меньшей мере один слой опорных пикселей, который может быть классифицирован так, что пиксели, ближайшие к текущему блоку, представляют собой ref_0 (пиксели, имеющие разность значений пикселя, равную 1, относительно граничного пикселя текущего блока; от p (-1, -1) до p (2m-1, -1), от p (-1, 0) до p (-1, 2n-1)), следующий смежный пиксель (разность между граничным пикселем текущего блока и значением пикселя равна 2; от p (-2, -2) до p (2m, -2), от p (-2, -1) до p (-2, 2n)) представляет собой ref_1, и следующий смежный пиксель (разность между граничным пикселем текущего блока и значением пикселя равна 3; от p (-3, -3) до p (2m+1, -3), от p (-3, -2) до p (-3, 2n+1)) представляет собой ref_2, и т.д. То есть опорный пиксель может быть классифицирован на множество слоев опорных пикселей в соответствии с расстояниями пикселей, которые являются смежными с граничным пикселем текущего блока.
[00319] Кроме того, слои опорных пикселей могут быть расположены по-разному для каждого смежного блока. Например, опорный пиксель согласно слою ref_0 может использоваться, когда в качестве опорных блоков используются блок, смежный с текущим блоком, и блок, смежный с верхним концом, и опорный пиксель согласно слою ref_1 может использоваться, когда в качестве опорного блока используется блок, смежный с верхним концом.
[00320] В этом случае набор опорных пикселей, к которому обычно делается отсылка при выполнении внутреннего предсказания, принадлежит к смежным блокам, смежным с текущим блоком. Смежные блоки расположены снизу слева, слева, сверху слева, на верхнем конце и верхнем правом конце и представляют собой пиксели, принадлежащие к слою ref_0 (пиксели, ближайшие к граничному пикселю), и пиксели, принадлежащие друг к другу, считаются являющимися этими пикселями, если не указано иное. Однако только часть пикселей, принадлежащих к вышеупомянутым смежным блокам, может быть использована в качестве набора опорных пикселей, или в качестве набора опорных пикселей могут быть использованы пиксели, принадлежащие более чем к двум слоям. В этом случае набор, или слой, опорных пикселей может быть определен в неявном виде (предварительно задан в устройстве для кодирования/декодирования) или может быть определен в явном виде (информация для определения может быть принята из устройства для кодирования).
[00321] Настоящее описание выполнено на основе того, что максимальное количество поддерживаемых слоев опорных пикселей равно 3, но оно также может иметь значение, которое больше этого числа, и количество слоев опорных пикселей и количество наборов опорных пикселей в соответствии с положениями смежных блоков, к которым может делаться отсылка (или которые могут называться группами опорных пикселей-кандидатов), могут быть заданы иначе в соответствии с размером, формой, режимом предсказания, типом изображения (I/P/B, в данном случае изображение представляет собой кадр, срез, плитку и т.д.), цветовой компонентой и т.д. блока, и связанная информация может быть включена в элементы последовательности, кадра, среза, плитки и т.д.
[00322] Настоящее изобретение описано при условии, что нижний индекс (с приращением на 1 от 0) присваивается от слоя опорных пикселей, ближайшего к текущему блоку, но настоящее изобретение этим не ограничено. Кроме того, описанная ниже связанная информация о конфигурации опорных пикселей может генерироваться при вышеописанной настройке индексов (преобразование в двоичную форму присвоения короткого бита нижнему индексу в случае выбора одного из множества наборов опорных пикселей и т.д.).
[00323] Кроме того, если имеется более двух поддерживаемых слоев опорных пикселей, каждый опорный пиксель, включенный в более чем два слоя опорных пикселей, может быть использован для взвешенного усреднения.
[00324] Например, блок предсказания может генерироваться с использованием опорного пикселя, полученного из взвешенной суммы пикселей, расположенных в слое ref_0 (ближайший слой пикселей) и слое ref_l (следующий слой пикселей) согласно фиг. 11. В этом случае, в соответствии с режимом предсказания (например, направленным режимом предсказания), пиксели, к которым применяется взвешенная сумма в каждом слое опорных пикселей, могут представлять собой не только пиксели целочисленных элементов, но также пиксели десятичных элементов. Кроме того, для получения блока предсказания взвешенные значения (например, 7:1, 3:1, 2:1 и 1:1), соответственно, применяются к блоку предсказания, полученному путем использования опорных пикселей в соответствии с первым слоем опорных пикселей, и блоку предсказания, полученному путем использования опорных пикселей в соответствии со вторым опорным пикселем. В этом случае, если взвешенное значение представляет собой блок предсказания в соответствии со слоем опорных пикселей, смежным с текущим блоком, взвешенное значение может быть выше.
[00325] В целом для приведенного выше примера возможно использование в качестве опорного пикселя ближайшего пикселя из смежного блока, но он этим не ограничен. Например, могут иметь место различные случаи (например, случай, в котором ref_0 и ref_1 выбраны как слои опорных пикселей, и ref_0 и ref_1 используются для выполнения взвешенного суммирования и других способов генерирования значений пикселя предсказания и т.д., т.е. неявный случай).
[00326] Кроме того, связанная информация о конфигурации опорных пикселей (например, информация о выборе для слоя, или набора, опорных пикселей и т.д.) может не включать предварительно заданную информацию (например, если слой опорных пикселей предварительно задан как ref_0). Например, она может быть сконфигурирована как, но без ограничения, ref_1, ref_2, ref_3 и т.д.
[00327] Некоторые случаи конфигурации опорных пикселей были описаны при помощи приведенных выше примеров, которые можно скомбинировать с различной информацией о кодировании/декодировании и т.д. для определения настроек внутреннего предсказания. В этом случае информация о кодировании/декодировании содержит тип изображения, цветовую компоненту, форму и размер текущего блока, режим предсказания (тип режима предсказания (направленный или ненаправленный)), направление режима предсказания (вертикальный, горизонтальный, диагональный 1, диагональный 2 и т.д.) и т.д., и настройки внутреннего предсказания (в данном примере - настройки конфигурации опорных пикселей) могут быть определены в соответствии с информацией о кодировании/декодировании смежного блока и комбинацией информации о кодировании/декодировании текущего блока и смежного блока.
[00328] На фиг. 12 представлена принципиальная схема для разъяснения диапазона опорного пикселя для внутреннего предсказания. Подробнее, диапазон опорного пикселя определяется в соответствии с размером и формой блока, конфигурацией режима предсказания (в данном примере - информацией об угле режима предсказания) и т.д. Положение, указанное стрелкой на фиг. 12, представляет собой пиксель, используемый для предсказания.
[00329] Со ссылкой на фиг. 12, пиксели A, A', B, B' и C относятся к пикселям на нижнем правом конце блоков 8×2, 2×8, 8×4, 4×8 и 8×8. Для выполнения предсказания пикселей, диапазон опорного пикселя каждого блока может быть определен при помощи пикселей AT, AL, BT, BL, CT и CL, используемых в верхнем и левом блоках.
[00330] Например, если опорными пикселями являются пиксели A и A' (прямоугольные блоки), они располагаются в пределах диапазона от p(0, -1) до p(9, -1), от p(-1, 0) до p(-1, 9), p(-1, -1), если опорными пикселями являются пиксели B и B' (прямоугольные блоки), они располагаются в пределах диапазона от p(0, -1) до p(11, -1), от p(-1, 0) до p(-1, 11), p(-1, -1), и, если опорным пикселем является пиксель C (квадратный блок), он располагается в пределах диапазона от p(0, -1) до p(15, -1), от p(-1, 0) до p(-1, 15), p(-1, -1).
[00331] Информация о диапазоне (например, P(-1, -1), P(M+N-1, -1), P(-1, N+M-1) и т.д.) опорного пикселя, полученного при помощи вышеописанного процесса, может использоваться для процесса внутреннего предсказания (например, процесса фильтрации опорных пикселей, процесса генерирования опорных пикселей и т.д.). Кроме того, поддержка опорных пикселей не ограничена вышеописанными случаями, и также возможны различные другие случаи.
[00332] Секция конфигурации опорных пикселей для внутреннего предсказания может содержать секцию генерирования опорных пикселей, секцию интерполяции опорных пикселей, секцию фильтрации опорных пикселей и т.д. и может иметь все или часть из вышеописанных конфигураций.
[00333] Секция конфигурации опорных пикселей выполнена с возможностью проверки доступности опорных пикселей с целью классификации доступных опорных пикселей и недоступных опорных пикселей. Например, если блок в предварительно заданном положении (или кандидатный блок опорного пикселя) можно использовать, то соответствующий блок может быть использован как опорный пиксель, а если он недоступен, этот блок нельзя использовать как опорный пиксель.
[00334] Если удовлетворяется по меньшей мере одно из следующих условий, определяется, что опорный пиксель является недоступным. Например, опорный пиксель определяется как недоступный, если удовлетворяется одно из условий, согласно которым опорный пиксель находится вне границы кадра, опорный пиксель не принадлежит к тому же блоку разделения, что и текущий блок (например, срез, плитка и т.д.), кодирование/декодирование не завершено, и использование опорного пикселя ограничено в соответствии с настройкой кодирования/декодирования. То есть, если ни одно из приведенных выше условий не удовлетворяется, определяется, что опорный пиксель является доступным.
[00335] Кроме того, использование опорных пикселей может быть ограничено настройками кодирования/декодирования. Например, использование опорных пикселей может быть ограничено в соответствии с выполнением ограниченного внутреннего предсказания (например, constrained_intra_pred_flag). Ограниченное внутреннее предсказание может выполняться тогда, когда устойчивое к ошибкам кодирование/декодирование необходимо выполнить в отношении внешних факторов, таких как среда связи, если предпринимается попытка запретить использование блоков, восстановленных путем отсылки к другим изображениям в качестве опорных пикселей.
[00336] Если ограниченное внутреннее предсказание деактивировано (например, в типе I кадра или типе P или B кадра constrained_intra_pred_flag=0), доступны все кандидатные блоки опорных пикселей, а если активировано (например, в типе P или B кадра constrained_intra_pred_flag=1), использование опорного пикселя из соответствующего блока может быть определено в соответствии с режимом кодирования (внутреннего предсказания или предсказания, осуществляемого между изображениями) кандидатного блока опорного пикселя. То есть, если режимом кодирования блока является внутреннее предсказание, блок можно использовать независимо от того, активировано ли ограниченное внутреннее предсказание. В случае предсказания, осуществляемого между изображениями, доступность (деактивировано) или недоступность (активировано) блока определяется в зависимости от активации ограниченного внутреннего предсказания.
[00337] Кроме того, ограниченное внутреннее предсказание может применяться в соответствии с режимом кодирования восстановленного блока, соответствующего текущему блоку в другом цветовом пространстве. Например, текущий блок принадлежит к каким-либо цветоразностным компонентам Cb и Cr, и доступность ограниченного внутреннего предсказания определяется в соответствии с режимом кодирования блока, в котором завершено кодирование/декодирование компоненты Y яркости, соответствующей текущему блоку. Приведенный выше пример может представлять собой пример случая, в котором в качестве опорного пикселя используется восстановленный блок другого цветового пространства. Кроме того, он может представлять собой пример случая, в котором режим кодирования определяется независимо в соответствии с цветовым пространством.
[00338] В этом случае, если кандидатный блок опорного пикселя является кодированным/декодированным при помощи некоторых способов предсказания (например, предсказания путем совпадения блоков или совпадения шаблонов в текущем изображении), использование этого опорного пикселя может быть определено в соответствии с настройками кодирования/декодирования.
[00339] В качестве примера, если кодирование/декодирование выполняется с использованием указанного способа предсказания, и если режим кодирования задан как внутреннее предсказание, соответствующий блок может быть определен как доступный. Альтернативно, даже если используется внутреннее предсказание, допускаются специальные случаи, в которых блок является недоступным.
[00340] Например, если кодирование/декодирование выполняется с использованием указанного способа предсказания, и если режим кодирования задан как предсказание, осуществляемое между изображениями, соответствующий блок может быть определен как недоступный. Альтернативно, даже если используется предсказание, осуществляемое между изображениями, допускаются специальные случаи, в которых блок является доступным.
[00341] То есть в соответствии с настройками кодирования/декодирования может быть определено, делать ли исключение для случая определения использования в соответствии с режимом кодирования.
[00342] Ограниченное внутреннее предсказание может представлять собой настройку, применяемую к некоторым типам изображений (например, типам Р или B среза/плитки и т.д.).
[00343] В соответствии с доступностью опорного пикселя, кандидатные блоки опорных пикселей могут быть классифицированы на случай, в котором могут быть использованы все кандидатные блоки опорных пикселей, случай, в котором могут быть использованы некоторые опорные пиксели, и случай, в котором все опорные пиксели недоступны. За исключением случая, в котором могут быть использованы все кандидатные блоки опорных пикселей, во всех остальных случаях опорные пиксели, недоступные в положении кандидатного блока, могут быть заполнены или сгенерированы.
[00344] Если кандидатный блок опорного пикселя доступен, пиксель в предварительно заданном положении этого блока (в данном примере предполагается, что пиксель является смежным с текущим блоком) может быть сохранен в запоминающем устройстве для опорных пикселей текущего блока. В этом случае данные пикселей из положения соответствующего блока могут сохраняться в запоминающем устройстве для опорных пикселей при помощи таких процессов, как прямое копирование или фильтрация опорных пикселей.
[00345] Если кандидатный блок опорного пикселя недоступен, пиксели, полученные при помощи процесса генерирования опорных пикселей, могут сохраняться в запоминающем устройстве для опорных пикселей текущего блока.
[00346] Коротко говоря, если кандидатный блок опорного пикселя находится в доступном состоянии, опорный пиксель может быть сконфигурирован, и, если кандидатный блок опорного пикселя находится в недоступном состоянии, опорный пиксель может быть сгенерирован.
[00347] Ниже приведены примеры использования различных способов заполнения опорных пикселей в положениях недоступных блоков.
[00348] Например, для генерирования опорного пикселя может быть использовано произвольное значение пикселя, и может иметься значение пикселя, принадлежащее к диапазону значений пикселя (например, значение, полученное из процесса корректировки значений пикселя на основе битовой глубины или процесса корректировки значений пикселя на основе информации о диапазоне значений пикселя изображения, такое как минимальное значение, максимальное значение и срединное значение). Подробнее, это может быть пример, применимый тогда, когда все кандидатные блоки опорных пикселей недоступны.
[00349] Альтернативно опорные пиксели могут быть сгенерированы по завершении кодирования/декодирования изображения. Подробнее, опорные пиксели могут быть сгенерированы из по меньшей мере одного доступного блока, смежного с недоступным блоком. В этом случае может быть использовано по меньшей мере одно из экстраполяции, интерполяции, копирования или других способов, и направлением генерирования (или копирования и экстраполяции) опорных пикселей может являться направление по часовой стрелке или против часовой стрелки, и оно может быть определено в соответствии с настройками кодирования/декодирования. Например, направление генерирования опорных пикселей в блоке может представлять собой предварительно заданное направление или направление, адаптивно определяемое в соответствии с положением недоступного блока. Альтернативно для области, соответствующей текущему блоку в других цветовых пространствах, можно использовать такой же способ, как в приведенном выше примере. Разница заключается в том, что, если процесс заполнения смежных опорных пикселей текущего блока выполняется в текущем цветовом пространстве, процесс заполнения блока M×N, соответствующего текущему блоку m×n, выполняется в других цветовых пространствах. Поэтому для генерирования соответствующих областей могут быть использованы другие различные способы, включая приведенный выше способ (например, экстраполяцию в вертикальном, горизонтальном и диагональном направлениях окружающих пикселей, планарную интерполяцию, усреднение и т.д., в данном случае направление заполнения относится к направлению от окружающих пикселей блока, соответствующего текущему блоку, внутрь блока). Данный пример может представлять собой случай, в котором режим предсказания, используемый для генерирования блока предсказания из другого цветового пространства, включается в группу кандидатов, но не исключается из группы кандидатов.
[00350] Кроме того, после завершения конфигурации опорных пикселей при помощи процесса подтверждения доступности опорных пикселей при помощи линейной интерполяции опорных пикселей могут быть сгенерированы опорные пиксели в десятичных элементах. Альтернативно процесс интерполяции опорных пикселей может быть выполнен после выполнения процесса фильтрации опорных пикселей. Альтернативно может выполняться только процесс фильтрации для сконфигурированных опорных пикселей. Коротко говоря, он может выполняться перед процессом генерирования блока предсказания.
[00351] В этом случае в горизонтальном режиме, вертикальном режиме, некоторых диагональных режимах (например, диагональном снизу справа, диагональном снизу слева и диагональном сверху справа) и ненаправленных режимах, цветовом режиме, режиме копирования цвета и т.д. процесс интерполяции не выполняется, а в случае других режимов (других диагональных режимов) интерполяция может выполняться.
[00352] Точность интерполяции может быть определена в соответствии с поддерживаемой группой режимов-кандидатов предсказания (или общим количеством режимов предсказания), конфигурацией режима предсказания (например, углом направления режима предсказания и интервалом между режимами предсказания) и т.д.
[00353] Для интерполяции опорных пикселей в десятичном элементе может быть использован предварительно заданный фильтр (например, 2-отводный линейный интерполяционный фильтр), и может использоваться одна из множества групп фильтров-кандидатов (например, 4-отводный кубический фильтр, 4-отводный гауссов фильтр, 6-отводный фильтр Винера, 8-отводный фильтр Калмана).
[00354] Если используется одна из множества групп фильтров-кандидатов, информация о выборе фильтра может генерироваться в явном виде или определяться в неявном виде и может определяться в соответствии с настройками кодирования/декодирования (например, точностью интерполяции, размером и формой блока, режимом предсказания и т.д.).
[00355] Например, интерполяционный фильтр для использования может определяться в соответствии с диапазоном размеров блока, интерполяционный фильтр для использования может определяться в соответствии с точностью интерполяции, и интерполяционный фильтр может определяться в соответствии с характеристиками режима предсказания (например, информацией о направленности и т.д.).
[00356] Подробнее, в соответствии с диапазоном размеров блока предварительно заданный интерполяционный фильтр а может использоваться в некоторых диапазонах А, предварительно заданный интерполяционный фильтр b может использоваться в некоторых диапазонах B, интерполяционный фильтр с из множества интерполяционных фильтров С может использоваться в некоторых диапазонах С, интерполяционный фильтр d из множества интерполяционных фильтров D может использоваться в некоторых диапазонах D, в некоторых диапазонах может использоваться предварительно заданный интерполяционный фильтр, и в некоторых диапазонах может использоваться один из множества интерполяционных фильтров. В этом случае, если использование одного интерполяционного фильтра является неявным, использование одного интерполяционного фильтра во множестве интерполяционных фильтров является явным, и размер блока для разделения диапазона размеров блока может составлять M×N (в данном примере M и N равны 4, 8, 16, 32, 64, 128 и т.д.; то есть M и N могут представлять собой минимальное или максимальное значение диапазона размеров каждого блока).
[00357] Информация, связанная с интерполяцией, может быть включена в элементы видео, последовательности, кадра, среза, плитки, блока и т.д. Процесс интерполяции может представлять собой процесс, выполняемый в секции конфигурации опорных пикселей, или может представлять собой процесс, выполняемый в секции генерирования блока предсказания.
[00358] Кроме того, после конфигурирования опорного пикселя, опорный пиксель может подвергаться фильтрации с целью ослабления ухудшения, остающегося после процесса кодирования/декодирования, с целью повышения точности предсказания. В этом случае используемым фильтром может являться фильтр нижних частот. Выполнение фильтрации может быть определено в соответствии с настройками кодирования/декодирования, если фильтрация применяется, может применяться фиксированная или адаптивная фильтрация, и настройки кодирования/декодирования могут быть заданы в соответствии с размером блока, формой, режимом предсказания и т.д.
[00359] Фиксированная фильтрация относится к случаю, когда предварительно определенный фильтр применяется к секции фильтрации опорных пикселей, а адаптивная фильтрация относится к случаю, когда к секции фильтрации опорных пикселей применяется один из множества фильтров. В этом случае при адаптивной фильтрации один из множества фильтров может быть определен в неявном виде в соответствии с настройками кодирования/декодирования, или информация о выборе может генерироваться в явном виде, и в качестве группы фильтров-кандидатов может быть включен 3-отводный фильтр (например, [1, 2, 1]/4) или 5-отводный фильтр (например, [2, 3, 6, 3, 2]).
[00360] В качестве примера, фильтрация может не применяться при некоторых настройках (диапазон А блоков).
[00361] В качестве примера, фильтрация может не применяться при некоторых настройках (диапазон B блоков, некоторый режим C), и при некоторых настройках (диапазон B блоков, некоторый режим D) может применяться фильтрация при помощи предварительно заданного фильтра (3-отводного фильтра).
[00362] Например, фильтрация может не применяться при некоторых настройках (диапазон Е блоков, некоторый режим F), при некоторых настройках (диапазон Е блоков, некоторый режим G) может применяться фильтрация при помощи предфильтра (3-отводного фильтра), при некоторых настройках (диапазон Е блоков, некоторый режим Н) может применяться фильтрация при помощи предфильтра (5-отводного фильтра), и при некоторых настройках (диапазон Е блоков, некоторый режим I) для фильтрации может применяться один из множества фильтров.
[00363] В качестве примера, при некоторых настройках (диапазон J блоков, некоторый режим K) может применяться фильтрация при помощи предварительно определенного фильтра (5-отводного фильтра), и фильтрация может дополнительно применяться при помощи предварительно заданного фильтра (3-отводного фильтра). То есть может выполняться множество процессов фильтрации. Подробнее, фильтрация может также применяться на основе результатов предыдущей фильтрации.
[00364] В приведенном выше примере размер блока для разделения диапазона размеров блока может составлять M×N (в данном примере M и N равны 4, 8, 16, 32, 64, 128 и т.д., т.е. M и N могут представлять собой минимальное или максимальное значение каждого диапазона размеров блока). Кроме того, режим предсказания может быть грубо классифицирован на направленный режим, ненаправленный режим, цветовой режим, режим копирования цвета и т.д., и, подробнее, режим 1, смежный с горизонтальным или вертикальным режимом/диагональным режимом (интервал 45 градусов)/горизонтальным или вертикальным режимом, режим 2, смежный с горизонтальным или вертикальным режимом (интервал между режимами несколько больше приведенного выше интервала), и т.д. То есть, как описано выше, выполнение фильтрации и тип фильтрации определяются в соответствии с режимом классификации.
[00365] Кроме того, в приведенных выше примерах представлен случай, в котором адаптивная фильтрация применяется в соответствии с множеством факторов, таких как диапазон блока и режим предсказания. Однако не всегда требуется множество факторов, и также может иметь место пример, в котором адаптивная фильтрация выполняется в соответствии с по меньшей мере одним фактором. Кроме того, может иметь место множество преобразованных примеров без ограничения примерами, приведенными выше, и информация, связанная с фильтрацией опорных пикселей, может быть включена в элементы видео, последовательности, кадра, среза, плитки и блока.
[00366] Фильтрация может выборочно выполняться на основе предварительно определенного флага. Флаг может указывать выполнение фильтрации в отношении опорного пикселя для выполнения внутреннего предсказания. Флаг может кодироваться и сообщаться устройством для кодирования. Альтернативно флаг может быть получен с устройства для декодирования на основе параметра кодирования текущего блока. Параметр кодирования может включать по меньшей мере одно из положения/области опорного пикселя, размера блока, типа компоненты, того, применялось ли внутреннее предсказание в элементах подблоков, или режима внутреннего предсказания.
[00367] Например, если опорным пикселем текущего блока является первая линия пикселей, смежная с текущим блоком, то опорный пиксель может подвергаться фильтрации, в ином случае опорный пиксель может не подвергаться фильтрации. Альтернативно опорный пиксель может подвергаться фильтрации, если количество пикселей, принадлежащих к текущему блоку, больше количества предварительно определенных пороговых значений, в ином случае опорный пиксель может не подвергаться фильтрации. Пороговое значение представляет собой значение, предварительно определенное для устройства для кодирования/декодирования, и может представлять собой целое число 16, 32, 64 или более. Альтернативно опорный пиксель может подвергаться фильтрации, если текущий блок больше предварительно определенного порогового значения, в ином случае опорный пиксель может не подвергаться фильтрации. Пороговое значение может быть представлено как M×N, и оно представляет собой значение, предварительно определенное для устройства для кодирования/декодирования, и M и N могут представлять собой целые числа 8, 16, 32 или более. Пороговое число или пороговый размер могут быть заданы для определения фильтрации опорного пикселя посредством одного порогового числа, или порогового размера, или их комбинации. Альтернативно опорный пиксель может подвергаться фильтрации, если текущий блок представляет собой компоненту яркости, в ином случае опорный пиксель может не подвергаться фильтрации. Альтернативно, если текущий блок не выполняет вышеописанное внутреннее предсказание в элементах подблоков (то есть текущий блок не разбивается на множество подблоков), опорный пиксель подвергается фильтрации, в ином случае опорный пиксель может не подвергаться фильтрации. Альтернативно опорный пиксель может подвергаться фильтрации, если режимом внутреннего предсказания текущего блока является ненаправленный режим или предварительно определенный направленный режим, в ином случае опорный пиксель может не подвергаться фильтрации. Здесь ненаправленный режим может представлять собой планарный режим или режим DC. Однако в режиме DC ненаправленного режима он может быть ограничен для отсутствия фильтрации опорного пикселя. Направленный режим может относиться к режиму внутреннего предсказания со ссылкой на целочисленный пиксель. Например, направленный режим может включать по меньшей мере один из режимов внутреннего предсказания, соответствующих режимам -14, -12, -10, -6, 2, 18, 34, 50, 66, 72, 78 и 80, изображенным на фиг. 9. Однако направленный режим может быть ограничен для исключения горизонтального режима и вертикального режима, относящихся, соответственно, к режимам 18 и 50.
[00368] При фильтрации опорного пикселя в соответствии с флагом фильтрация может выполняться на основе фильтра, предопределенного в устройстве для кодирования/декодирования. Количество отводов фильтра может составлять 1, 2, 3, 4, 5 или более. Количество отводов фильтра может быть определено как переменное в соответствии с положением опорного пикселя. Например, 1-отводный фильтр может применяться к опорным пикселям, соответствующим по меньшей мере одной стороне самого нижнего, самого верхнего, самого левого и самого правого конца линии пикселей, а к остальным опорным пикселям может применяться 3-отводный фильтр. Кроме того, сила фильтра может определяться как переменная в соответствии с положением опорного пикселя. Например, сила s1 фильтра может применяться к опорным пикселям, соответствующим по меньшей мере одной стороне самого нижнего, самого верхнего, самого левого и самого правого конца линии пикселей, а к остальным опорным пикселям может применяться сила s2 фильтра (s1<s2). Сила фильтра может сообщаться в устройстве для кодирования или может быть определена на основе вышеописанных параметров кодирования. При применении n-отводного фильтра к опорному пикселю фильтр может быть применен к текущему опорному пикселю и (n-1) окружающих опорных пикселей. Окружающие опорные пиксели могут указывать пиксели, расположенные в по меньшей мере одном из верхнего конца, нижнего конца, левой стороны или правой стороны текущего опорного пикселя. Окружающие опорные пиксели могут принадлежать к той же линии пикселей, что и текущий опорный пиксель, и часть окружающих опорных пикселей может принадлежать к иной линии пикселей, чем текущий опорный пиксель.
[00369] Например, если текущий опорный пиксель расположен на левой стороне текущего блока, окружающие опорные пиксели могут представлять собой пиксели, смежные в по меньшей мере одном направлении верхнего конца или нижнего конца текущего опорного пикселя. Альтернативно, если текущий опорный пиксель расположен на верхнем конце текущего блока, окружающие опорные пиксели могут представлять собой пиксели, смежные в по меньшей мере одной из левой и правой сторон текущего опорного пикселя. Альтернативно, если текущий опорный пиксель расположен на верхнем левом конце текущего блока, окружающие опорные пиксели могут представлять собой пиксели, смежные в по меньшей мере одном из нижнего конца или правой стороны текущего опорного пикселя. Соотношение между коэффициентами фильтра может составлять [1:2:1], [1:3:1] или [1:4:1].
[00370] Секция генерирования блока предсказания выполнена с возможностью генерирования блока предсказания в соответствии с по меньшей мере одним режимом предсказания и использования опорного пикселя на основе режима внутреннего предсказания. В этом случае опорный пиксель может использоваться в таких способах, как экстраполяция (направленный режим) в соответствии с режимом предсказания, и может использоваться в таких способах (ненаправленный режим), как интерполяция, или усреднение (DC), или копирование. В то же время, как описано выше, текущий блок может использовать фильтрованные опорные пиксели или может использовать нефильтрованные опорные пиксели.
[00371] На фиг. 13 представлена схема, на которой изображен блок, смежный с текущим блоком, для генерирования блока предсказания.
[00372] Например, при направленном режиме в режиме между горизонтальным режимом и некоторыми диагональными режимами (диагонально сверху справа, включая диагональные линии, отличные от горизонтали) могут использоваться опорные пиксели нижнего левого блока + левого блока (Ref_BL и Ref_L на фиг. 13), в горизонтальном режиме может использоваться опорный пиксель левого блока, в режиме между горизонтальным и вертикальным режимами могут использоваться опорные пиксели левого блока + верхнего левого блока + верхнего блока (Ref_L, Ref_TL и Ref_T на фиг. 13), в вертикальном режиме может использоваться опорный пиксель верхнего блока (Ref_L на фиг. 13), и в режиме между вертикальным режимом и некоторыми диагональными режимами (диагонально снизу слева, включая диагонали, отличные от вертикали) могут использоваться опорные пиксели верхнего блока + верхнего правого блока (Ref_T и Ref_TR на фиг. 13). Альтернативно в ненаправленном режиме опорные пиксели левого блока и верхнего блока (Ref_L и Ref_T на фиг. 13) или опорные пиксели нижнего левого блока, левого блока, верхнего левого блока, верхнего блока и правого верхнего блока (Ref_BL, Ref_L, Ref_TL, Ref_T и Ref_TR на фиг. 13). Альтернативно, в случае использования режима корреляции цветовых пространств (режима копирования цвета) в качестве опорных пикселей используются восстановленные блоки других цветовых пространств (не изображены на фиг. 12, но называются Ref_Col в настоящем описании; это означает, что размещенная ссылка блоков находится в разных пространствах в одно время).
[00373] Опорные пиксели, используемые для внутреннего предсказания, могут быть выделены во множество групп. Например, опорные пиксели, используемые для внутреннего предсказания, могут быть выделены в первый опорный пиксель и второй опорный пиксель, и первый опорный пиксель может представлять собой пиксель, непосредственно используемый для генерирования значения предсказания текущего блока, и второй опорный пиксель может представлять собой пиксель, опосредованно используемый для генерирования значения предсказания текущего блока. Альтернативно первый опорный пиксель может представлять собой пиксель, используемый для генерирования значений предсказания всех пикселей текущего блока, а второй опорный пиксель может представлять собой пиксель, используемый для генерирования значения предсказания некоторых пикселей текущего блока. Альтернативно первый опорный пиксель может представлять собой пиксель, используемый для генерирования главного значения предсказания текущего блока, а второй опорный пиксель может представлять собой пиксель, используемый для генерирования вспомогательного значения предсказания текущего блока. Альтернативно первый опорный пиксель (безусловно) может представлять собой пиксель в области в начальной точке направления предсказания текущего блока, второй опорный пиксель может представлять собой пиксель, не находящийся в начальной точке (необходимого) направления предсказания текущего блока.
[00374] Как описано в приведенном выше примере, несмотря на то что опорные пиксели можно различить при помощи разных определений, могут иметь место случаи, в которых некоторые определения не различаются в соответствии с режимом предсказания. То есть следует отметить, что определение, используемое для различения опорных пикселей, может отличаться в соответствии с режимом предсказания.
[00375] Опорным пикселем, описанным при помощи вышеописанного примера, может являться первый опорный пиксель, а второй опорный пиксель может дополнительно участвовать в генерировании блока предсказания. В режиме между некоторыми диагональными режимами (диагональным сверху справа, включая диагональные линии, отличные от горизонтали) могут использоваться опорные пиксели верхнего левого блока + верхнего блока + верхнего правого блока (Ref_TL, Ref_T и Ref_TR на фиг. 13), в горизонтальном режиме могут использоваться опорные пиксели верхнего левого блока + верхнего блока + верхнего правого блока (Ref_TL, Ref_T и Ref_TR на фиг. 13), в вертикальном режиме могут использоваться опорные пиксели верхнего левого блока + верхнего блока + нижнего левого блока (Ref_TL, Ref_T и Ref_TR на фиг. 13), в вертикальном режиме могут использоваться опорные пиксели верхнего левого блока + левого блока + нижнего левого блока (Ref_TL, Ref_L и Ref_BL на фиг. 13), и в режиме между вертикальным режимом и некоторыми диагональными режимами (диагонально снизу слева, включая диагонали, отличные от вертикали) могут использоваться опорные пиксели верхнего левого блока + левого блока + нижнего левого блока (Ref_TL, Ref_L и Ref_BL на фиг. 13). Подробнее, опорный пиксель может использоваться как второй опорный пиксель. Кроме того, первый опорный пиксель или первый и второй опорные пиксели могут использоваться для генерирования блока предсказания в ненаправленном режиме и режиме копирования цвета.
[00376] Кроме того, можно считать, что второй опорный пиксель включает не только пиксели, которые были закодированы/декодированы, но также пиксели в текущем блоке (в данном примере - пиксели предсказания). То есть главным значением предсказания может являться пиксель, используемый для генерирования вспомогательного значения предсказания. В настоящем изобретении будет главным образом описан пример, в котором вторым опорным пикселем считается пиксель, который был закодирован/декодирован, но настоящее изобретение этим не ограничено, и также может иметь место преобразованный пример, в котором используются пиксели, которые не были закодированы/декодированы (в данном примере - пиксели предсказания).
[00377] Для компенсации недостатков существующего режима предсказания, блок предсказания может генерироваться или корректироваться с использованием множества опорных пикселей.
[00378] Например, направленный режим представляет собой режим, используемый для предсказания направленности соответствующего блока с использованием некоторых опорных пикселей (первого опорного пикселя), однако он может неточно отражать изменения в блоке, что может вызывать снижение точности предсказания. В этом случае, если блок предсказания генерируется или корректируется с использованием дополнительного опорного пикселя (второго опорного пикселя), точность предсказания может быть повышена.
[00379] С этой целью в следующем примере будет описан случай, в котором блок предсказания генерируется с использованием различных опорных пикселей, как в приведенном выше примере, но настоящее изобретение не ограничено случаем приведенного выше примера, и даже если такие термины, как первый и второй опорные пиксели, не используются, эти термины могут быть получены и поняты из приведенных выше определений.
[00380] Настройка для использования дополнительного опорного пикселя с целью генерирования блока предсказания может быть определена в явном виде или задана в неявном виде. В явном случае элемент может содержать видео, последовательность, кадр, срез, плитку и т.д. В следующем примере будет описан случай неявной обработки, однако настоящее изобретение им не ограничено, и могут иметься другие, модифицированные (в явном виде или комбинированные) примеры.
[00381] Блок предсказания может генерироваться различными способами в соответствии с режимом предсказания. Подробнее, блок предсказания может быть определен в соответствии с положением опорного пикселя, используемого в режиме предсказания. Кроме того, способ предсказания может быть определен в соответствии с положением пикселя в блоке.
[00382] Ниже будет описан случай горизонтального режима.
[00383] Например, если в качестве опорного пикселя используется левый блок (Ref_L на фиг. 13), блок предсказания генерируется в горизонтальном направлении с использованием (например, экстраполяции) ближайшего пикселя (1300 на фиг. 13).
[00384] Кроме того, блок предсказания может генерироваться (или корректироваться; генерирование может включать конечное значение предсказания; коррекция может не включать все пиксели) путем использования опорных пикселей, смежных с текущим блоком и соответствующих горизонтальному направлению. Подробнее, для коррекции значения предсказания может использоваться ближайший пиксель соответствующего блока (1310 на фиг. 13; также могут учитываться и другие пиксели 1320 и 1330), и информация о степени изменения, или градиенте, пикселя и т.д. (например, информация о степени изменения, или градиенте, значений пикселя, отраженных в R0-T0, T0-TL, T2-TL, T2-T0, T2-T1 и т.д.) может передаваться при помощи обратной связи в процесс коррекции.
[00385] В этом случае пиксели, подлежащие коррекции, могут представлять собой все пиксели в текущем блоке или могут быть ограничены некоторыми пикселями (например, они могут быть определены в элементах одного пикселя, не имеющих конкретной формы или существующих в непостоянном положении, как в следующем примере, они определяются в элементах пикселя линии, имеющих определенную форму; для простоты описания описание в следующем примере выполнено в предположении элемента пикселя с линией в качестве элемента). Если коррекционный пиксель ограниченно применяется к некоторым пикселям, элемент может определяться как по меньшей мере одна линия, соответствующая направлению режима предсказания. Например, пиксели, соответствующие a-d, могут быть включены в цель коррекции, и, кроме того, в цель коррекции также могут быть включены пиксели, соответствующие e-h. Кроме того, информация о коррекции, полученная из смежных пикселей блока, может идентично применяться независимо от положения линии, или информация о коррекции может применяться в элементах линий по-разному, и, по мере увеличения расстояния от смежных пикселей, применимость информации о коррекции может снижаться (например, в соответствии с расстоянием, таким как L1-TL и L0-TL, может быть задано большее значение разделения).
[00386] В этом случае пиксели, включенные в объект коррекции, могут иметь только одну настройку в одном изображении или могут определяться адаптивно в соответствии с различными элементами кодирования/декодирования.
[00387] В качестве примера, в случае адаптивного определения пиксели, подлежащие коррекции, могут быть определены в соответствии с размером блока. В блоке менее 8×8, коррекции не подвергается ни одна линия, только один пиксель может быть скорректирован в блоке более 8×8 и менее 32×32, и в блоке более 32×32 может корректироваться две линии пикселей. Определение диапазона размеров блока может быть получено из предшествующего описания настоящего изобретения.
[00388] Альтернативно пиксели, подлежащие коррекции, могут определяться в соответствии с формой блока (например, квадратной или прямоугольной; в частности, прямоугольника, удлиненного в горизонтальном направлении, или прямоугольника, удлиненного в вертикальном направлении). Например, в случае блока 8×4 коррекции могут подвергаться две линии пикселей (a-h на фиг. 13), а в случае блока 4×8 коррекции может подвергаться одна линия пикселей (a-d на фиг. 13). Если форма блока, растянутого по горизонтали, определена как находящаяся в горизонтальном режиме в случае 8×4, направленность текущего блока может в большей степени зависеть от верхнего блока, и, если форма блока, растянутого вертикально, определена как находящаяся в горизонтальном режиме в случае 4×8, направленность текущего блока может зависеть от верхнего блока в меньшей степени. Кроме того, возможно также расположение, противоположное описанному выше.
[00389] Альтернативно пиксели, подлежащие коррекции, могут быть определены в соответствии с режимом предсказания. В горизонтальном или вертикальном режиме целями коррекции могут являться линии a пикселей, тогда как в других режимах целями коррекции могут являться линии b пикселей. Как описано выше, в случае некоторых режимов (например, ненаправленного режима DC, режима копирования цвета и т.д.) пиксели, подлежащие коррекции, не являются прямоугольными, но диапазон определяется в элементах пикселей (например, a-d, e, i, m). Это будет подробно описано в следующем примере.
[00390] В дополнение к приведенному выше описанию, в соответствии с дополнительными элементами кодирования/декодирования могут применяться адаптивные настройки. Приведенное выше описание сосредоточено на ограничении горизонтального режима. Однако оно применимо не только к приведенным выше примерам, но аналогичные или подобные настройки применимы и к другим режимам. Кроме того, такой же случай, как в приведенном выше примере, реализуется в соответствии с комбинацией множества элементов, а не одним элементом кодирования/декодирования.
[00391] В случае вертикального режима, поскольку его можно получить путем применения разных направлений к режиму предсказания горизонтального режима, его подробное описание опущено. Кроме того, в следующем примере опущены повторы содержимого, связанного с горизонтальным режимом.
[00392] Ниже будет описан случай диагонального режима (диагонального вверх вправо).
[00393] Например, если в качестве опорных пикселей используются левый блок и нижний левый блок (первые опорные пиксели, или главные опорные пиксели, Ref_L и Ref_BL на фиг. 13), блок предсказания генерируется в диагональном направлении с использованием ближайших пикселей (1300 и 1340 на фиг. 13) соответствующего блока (например, путем экстраполяции и т.д.).
[00394] Кроме того, блок предсказания может генерироваться (или корректироваться) с использованием опорных пикселей (вторых опорных пикселей, или вспомогательных опорных пикселей; Ref_T и Ref_TR на фиг. 13), смежных с текущим блоком, расположенных в диагонально противоположных положениях. Подробнее, значение предсказания может корректироваться с использованием ближайших пикселей соответствующего блока (1310 и 1330 на фиг. 13, и дополнительно может учитываться 1320) и может передаваться с использованием обратной связи в процесс коррекции при помощи взвешенного среднего вспомогательного опорного пикселя и главного опорного пикселя (например, взвешенное значение может быть получено на основе по меньшей мере одного из пикселя предсказания, главного опорного пикселя или разности расстояний по оси х или оси y между пикселем предсказания и вспомогательным опорным пикселем; пример взвешенного значения, применимого к главному опорному пикселю и вспомогательному опорному пикселю, может включать 15:1-8:8; если имеется более двух вспомогательных опорных пикселей, пример взвешенного значения таков, что взвешенные значения во вспомогательных опорных пикселях, например, 14:1:1, 12:2:2, 10:3:3, 8:4:4, являются одинаковыми, или взвешенные значения между вспомогательными опорными пикселями, например, 12:3:1, 10:4:2, 8:6:2, могут отличаться; в этом случае путем центрирования на соответствующем пикселе предсказания разные взвешенные значения определяются в соответствии с близостью информации о наклоне в текущем направлении режима предсказания, то есть определяется градиент текущего режима предсказания, ближе к которому находится градиент соответствующего пикселя предсказания и каждого вспомогательного опорного пикселя).
[00395] В этом случае фильтрация имеет одну настройку в одном изображении, или фильтрация определяется адаптивно в соответствии с различными элементами кодирования/декодирования.
[00396] В качестве примера, в случае адаптивного определения пиксели, подлежащие фильтрации (например, число пикселей и т.д.), могут быть определены в соответствии с положениями пикселей, подлежащих коррекции. Если режим предсказания представляет собой диагональный режим (в данном примере - режим 2), и пикселем, подлежащим коррекции, является с, предсказание выполняется с использованием L3 (в данном примере - первый опорный пиксель), и коррекция выполняется с использованием T3 (в данном примере - второй опорный пиксель). То есть данный случай может представлять собой случай, в котором для предсказания одного пикселя используются один первый опорный пиксель и один второй опорный пиксель.
[00397] Альтернативно, если режимом предсказания является диагональный режим (в данном примере - режим 3), и пикселем, подлежащим коррекции, является b, предсказание выполняется с использованием L1* (или L2*, в данном примере - первого опорного пикселя), полученного путем выполнения интерполяции в отношении пикселей десятичных элементов между L1 и L2, и коррекция выполняется с использованием T2 (в данном примере - второго опорного пикселя), или коррекция может выполняться с использованием T3. Альтернативно коррекция может выполняться с использованием T2 и T3, или коррекция может выполняться с использованием T2* (или T3*), которые получены путем выполнения интерполяции в отношении пикселей десятичных элементов между T2 и T3, которые получены на основе направленности режима предсказания. То есть для предсказания одного пикселя могут использоваться один первый опорный пиксель (в данном примере, предполагая L1*, его можно рассматривать как два пикселя, если непосредственно используемыми пикселями считаются L1 и L2; или, в соответствии с фильтром, используемым для выполнения интерполяции в отношении L1*, его можно рассматривать как два или более пикселей) и два вторых опорных пикселя (в данном примере, предполагая T2 и T3, L1* можно рассматривать как один пиксель).
[00398] Коротко говоря, для предсказания одного пикселя, который может быть определен в соответствии с режимом предсказания и положением пикселя предсказания, можно использовать по меньшей мере один первый опорный пиксель и по меньшей мере один второй опорный пиксель.
[00399] Если коррекционные пиксели ограниченно применяются к некоторым пикселям, скорректированные пиксели могут определяться в элементах по меньшей мере одной горизонтальной линии или вертикальной линии в соответствии с направлением режима внутреннего предсказания. Например, в цель коррекции могут быть включены пиксели, соответствующие a, e, i и m, или пиксели, соответствующие a-d, и, кроме того, в цель коррекции также могут быть включены пиксели, соответствующие b, f, j и n, или пиксели, соответствующие e-h. В некоторых случаях режима диагонально вверх вправо коррекции могут подвергаться пиксели в элементах горизонтальной линии, и в некоторых случаях режима диагонально вниз влево коррекции могут подвергаться пиксели в элементах вертикальной линии, которые этим не ограничены.
[00400] В дополнение к приведенному выше описанию, в соответствии с дополнительными элементами кодирования/декодирования могут применяться адаптивные настройки. Приведенное выше описание сосредоточено на ограничении режима диагонально вверх вправо. Однако оно применимо к приведенным выше примерам не только в ограничительном смысле, и аналогичные или подобные настройки применимы и к другим режимам. Кроме того, приведенный выше пример реализуется в соответствии с множеством элементов, а не комбинацией одного элемента кодирования/декодирования.
[00401] В случае режима диагонально вниз влево, поскольку его можно получить только путем применения разных направлений к способу предсказания диагонально вверх вправо, его подробное описание опущено.
[00402] Ниже будет описан случай режима диагонально вверх влево.
[00403] Например, если в качестве опорных пикселей используются левый блок, верхний левый блок и верхний блок (первые опорные пиксели, или главные опорные пиксели, Ref_L, Ref_TL и Ref_T на фиг. 13), блок предсказания генерируется в диагональном направлении с использованием ближайших пикселей (1300, 1310 и 1320 на фиг. 13) соответствующего блока (например, путем экстраполяции и т.д.).
[00404] Кроме того, блок предсказания может генерироваться (или корректироваться) с использованием опорных пикселей (вторых опорных пикселей, или вспомогательных опорных пикселей, Ref_L, Ref_TL и Ref_T на фиг. 13, в таком же положении, как главный опорный пиксель), смежных с текущим блоком, расположенных в положениях, совпадающих с диагональными линиями. Подробнее, для коррекции значения предсказания могут использоваться и иные пиксели, чем ближайшие пиксели соответствующего блока (пиксели, расположенные на левой стороне 1300, пиксели, расположенные на левой стороне, верхней стороне и верхней левой стороне 1320, пиксели, расположенные на верхней стороне 1310, и т.д. на фиг. 13), и они могут передаваться с использованием обратной связи в процесс коррекции при помощи взвешенного среднего вспомогательного опорного пикселя и главного опорного пикселя (например, пример соотношения взвешенных значений, применимых к главному опорному пикселю и вспомогательному опорному пикселю, может включать 7:1-4:4 и т.д., если имеется более двух вспомогательных опорных пикселей, пример взвешенного значения может представлять собой случай, в котором взвешенные значения во вспомогательных опорных пикселях являются одинаковыми, например, 14:1:1, 12:2:2, 10:3:3 и 8:4:4, или взвешенные значения между вспомогательными опорными пикселями являются разными, например, 12:3:1, 10:4:2 и 8:6:2; в этом случае взвешенные значения, применяемые по-разному, могут определяться в соответствии с тем, являются ли они смежными с главным опорным пикселем) или линейной экстраполяции и т.д.
[00405] Если коррекционные пиксели ограниченно применяются к некоторым пикселям, скорректированные пиксели могут определяться в элементах горизонтальной линии или вертикальной линии, смежной с опорным пикселем, используемым в режиме предсказания. В этом случае горизонтальные и вертикальные линии могут учитываться одновременно, и допускается перекрывание. Например, в цель коррекции могут быть включены пиксели, соответствующие a-d, и пиксели (перекрывающиеся с а), соответствующие a, e, i и m. Кроме того, в цель коррекции могут быть включены пиксели, соответствующие e-h, и пиксели, соответствующие b, f, j и n (a, b, e и f перекрываются).
[00406] Ниже будет описан случай ненаправленного режима (DC).
[00407] Например, если в качестве опорного пикселя используется по меньшей мере один из левого блока, верхнего блока, верхнего левого блока, верхнего правого блока или нижнего левого блока, для генерирования блока предсказания может использоваться (например, усредняться и т.д.) ближайший пиксель блока (в данном примере предполагаются пиксели 1300 и 1310 на фиг. 13).
[00408] Альтернативно для генерирования (или коррекции) блока предсказания может использоваться смежный пиксель опорного пикселя (второй опорный пиксель, или вспомогательный опорный пиксель, опорного пикселя; положения Ref_L и Ref_T на фиг. 13 в данном примере являются такими же, как главный опорный пиксель, или являются дополнением главного опорного пикселя, также включен пиксель, расположенный в следующем смежном положении; случай, аналогичный режиму диагонально вверх вправо). Подробнее, пиксели в положениях, таких же или аналогичных положению главного опорного пикселя соответствующего блока, могут использоваться для коррекции значения предсказания и могут передаваться с использованием обратной связи в процесс коррекции при помощи взвешенного среднего вспомогательного опорного пикселя и главного опорного пикселя (например, пример соотношения взвешенных значений, применимых к главному опорному пикселю и вспомогательному опорному пикселю, может включать 15:1-8:8 и т.д., если имеется более двух вспомогательных опорных пикселей, пример взвешенного значения может представлять собой случай, в котором взвешенные значения во вспомогательных опорных пикселях являются одинаковыми, например, 14:1:1, 12:2:2, 10:3:3 и 8:4:4, или взвешенные значения между вспомогательными опорными пикселями являются разными, например, 12:3:1, 10:4:2 и 8:6:2).
[00409] В этом случае фильтрация имеет одну настройку для одного изображения, или фильтрация определяется адаптивно в соответствии с различными элементами кодирования/декодирования.
[00410] В качестве примера, в случае адаптивного определения фильтр может быть определен в соответствии с размером блока. Для пикселей, расположенных сверху слева, на верхнем конце и левом конце текущего блока (в данном примере, предполагается, что пиксель, расположенный на верхнем левом конце, отфильтровывает пиксели слева и над этим пикселем, и пиксель, расположенный на верхнем конце, отфильтровывает пиксели на верхней стороне этого пикселя, и пиксель на левом конце, отфильтровывает пиксели слева от этого пикселя), некоторые настройки фильтрации могут использоваться в блоке менее 16×16 (в данном примере фильтрация применяется в соответствии с весовым соотношением 8:4:4 и 12:4), и некоторые настройки фильтрации могут использоваться в блоке более 16×16 (в данном примере фильтрация применяется в соответствии с весовым соотношением 10:3:3 и 14:2).
[00411] Альтернативно фильтр может быть определен в соответствии с формой блока. Например, для блока 16×8, некоторые настройки фильтра могут использоваться для пикселей на верхнем конце текущего блока (в данном примере предполагается, что фильтрации подвергаются пиксели на верхней левой, верхней и верхней правой сторонах пикселя, т.е. их можно рассматривать как пример, в котором фильтрованные пиксели также изменяются; весовое соотношение фильтрации составляет 10:2:2:2), и некоторые настройки фильтра могут использоваться для пикселей на левом конце текущего блока (в данном примере предполагается, что фильтрации подвергается пиксель на левом конце этого пикселя, и весовое соотношение фильтрации составляет 12:4). Данный пример предполагает, что его можно применять к множеству пикселей на верхней стороне блока с формой блока, удлиненной в горизонтальном направлении. Кроме того, может также быть реализовано противоположное расположение.
[00412] Если коррекция ограничена некоторыми пикселями, скорректированные пиксели могут определяться в элементах горизонтальной линии или вертикальной линии, смежной с опорным пикселем, используемым в режиме предсказания. В этом случае горизонтальные и вертикальные линии могут учитываться одновременно, и допускается перекрывание. Например, в цель коррекции могут быть включены пиксели, соответствующие a-d, и пиксели (перекрывающиеся с а), соответствующие a, e, i и m. Кроме того, в цель коррекции могут быть включены пиксели, соответствующие e-h, и пиксели, соответствующие b, f, j и n (a, b, e и f перекрываются).
[00413] В дополнение к приведенному выше описанию, в соответствии с дополнительными элементами кодирования/декодирования могут реализовываться адаптивные настройки. Приведенное выше описание сосредоточено на ограничении ненаправленного режима. Однако оно применимо к приведенным выше примерам не только в ограничительном смысле, и аналогичные или подобные настройки применимы и к другим режимам. Кроме того, такой же пример, как описанный выше, реализуется в соответствии с комбинацией множества элементов, а не одним элементом кодирования/декодирования.
[00414] Ниже будет описан случай режима копирования цвета.
[00415] Для режима копирования цвета блок предсказания генерируется способом, отличным от способа предсказания существующего режима предсказания, но опорные пиксели могут использоваться аналогично или подобно генерированию (или коррекции) блока предсказания. Поскольку содержимое в отношении получения блока предсказания может быть получено при помощи приведенных выше примеров и следующих примеров, содержимое в отношении получения блока предсказания опущено.
[00416] Например, блок предсказания может быть сгенерирован путем использования (например, копирования) в качестве опорного пикселя (первого опорного пикселя, или главного опорного пикселя) блока, соответствующего текущему блоку в другом цветовом пространстве.
[00417] Альтернативно блок предсказания может генерироваться (или корректироваться) с использованием опорных пикселей (вторых опорных пикселей, или вспомогательных опорных пикселей; Ref_L, Ref_T, Ref_TL, Ref_TR и Ref_BL на фиг. 13) блока, смежного с текущим блоком. Подробнее, ближайшие пиксели (предполагается, что в данном примере ими являются пиксели 1300 и 1310 на фиг. 13) соответствующего блока могут использоваться для коррекции значения предсказания и могут передаваться с использованием обратной связи в процесс коррекции при помощи взвешенного среднего вспомогательного опорного пикселя и главного опорного пикселя (например, пример соотношения взвешенных значений, применимых к главному опорному пикселю и вспомогательному опорному пикселю, может включать 15:1-8:8 и т.д., если имеется более двух вспомогательных опорных пикселей, пример взвешенного значения может представлять собой случай, в котором взвешенные значения во вспомогательных опорных пикселях являются одинаковыми, например, 14:1:1, 12:2:2, 10:3:3 и 8:4:4, или взвешенные значения между вспомогательными опорными пикселями являются разными, например, 12:3:1, 10:4:2 и 8:6:2).
[00418] Альтернативно для генерирования (или коррекции) блока предсказания могут использоваться пиксели блока, смежного с блоками, полученными в других цветовых пространствах (вторые опорные пиксели, или вспомогательные опорные пиксели; если предполагается, что кадр на фиг. 13 представляет собой блок, соответствующий текущему блоку в других цветовых пространствах, пикселями являются Ref_L, Ref_T, Ref_TL, Ref_TB, Ref_BL и Ref_R, Ref_BR, Ref_B, не изображенные на фиг. 13). Пиксели, подлежащие коррекции, и окружающие пиксели (например, первый опорный пиксель или первый опорный пиксель и второй опорный пиксель в других цветовых пространствах, т.е. в пределах блока, если применяется взвешенное среднее или т.п., требуются первый опорный пиксель, подлежащий коррекции, и фильтрованный первый опорный пиксель, и требуются граница блока, первый опорный пиксель, подлежащий коррекции, и фильтрованный первый опорный пиксель) могут подвергаться фильтрации и передаются при помощи обратной связи в процесс коррекции.
[00419] В случае если возникает комбинация двух этих случаев, могут использоваться не только пиксели смежных блоков текущего блока, но также для коррекции могут использоваться пиксели в блоках предсказания, полученных в других цветовых пространствах, и пиксели, подлежащие коррекции, и окружающие пиксели (например, пиксели смежных блоков для коррекции целевых пикселей и пикселей в пределах текущего блока, смежного со смежными блоками для коррекции целевых пикселей) подвергаются фильтрации (например, в целевом положении коррекции, для применения примера фильтрации используется маска M×N; в этот момент маска фильтрует эти пиксели и все или часть из пикселей сверху, снизу, слева, справа, сверху слева, сверху справа, снизу слева, снизу слева и т.д.) и передаются при помощи обратной связи в процесс коррекции.
[00420] Данный пример иллюстрирует случай, в котором фильтрация применяется после получения значения предсказания текущего блока в других цветовых пространствах, но также возможно принятие подвергнутого фильтрации значения в соответствующем цветовом пространстве перед получением значения предсказания в качестве значения предсказания текущего блока. В данном примере следует отметить, что данный случай отличается от приведенного выше примера только порядком, а подвергаемый фильтрации объект является таким же.
[00421] В этом случае фильтрация имеет только одну настройку в одном изображении, или фильтрация определяется адаптивно в соответствии с различными элементами кодирования/декодирования.
[00422] Например, для случая адаптивного определения настройка фильтрации может быть определена в соответствии с режимом предсказания. Подробнее, может быть задана адаптивная фильтрация в соответствии с подробным режимом копирования цвета в режиме копирования цвета. Например, в некоторых режимах копирования цвета (в данном примере - если набор связанной информации <a и b> получается в смежной области текущего блока и смежной области блока, соответствующего другим цветовым пространствам) могут быть приняты некоторые настройки <1> фильтра, и в некоторых режимах копирования цвета (в данном примере - в сравнении с вышеописанным режимом, если получается множество наборов информации о корреляции, т.е. a1 и b1, a2 и b2) могут быть приняты некоторые настройки <2> фильтра.
[00423] В настройках фильтра может быть определено, применять ли фильтрацию. Например, в соответствии с настройками фильтра может применяться фильтр <1> или может не применяться фильтр <2>. Альтернативно может использоваться фильтр A <1> или может использоваться фильтр B <2>. Альтернативно фильтрация может применяться ко всем пикселям на левой и верхней сторонах текущего блока, или фильтрация может применяться к некоторым пикселям на левой и верхней сторонах.
[00424] Если пиксели, подлежащие коррекции, ограничены некоторыми пикселями, пиксели, подлежащие коррекции, могут определяться в элементах горизонтальных линий или вертикальных линий, смежных с опорными пикселями, используемыми в режиме предсказания (в данном примере, отличном от предшествующего примера - вспомогательными опорными пикселями). В этом случае горизонтальные и вертикальные линии могут учитываться одновременно, и допускается перекрывание.
[00425] Например, в цель коррекции могут быть включены пиксели, соответствующие a-d, и пиксели (перекрывающиеся с а), соответствующие a, e, i и m. Кроме того, в цель коррекции могут быть включены пиксели, соответствующие e-h, и пиксели, соответствующие b, f, j и n (a, b, e и f перекрываются).
[00426] Коротко говоря, главные опорные пиксели для генерирования блока предсказания могут быть получены из других цветовых пространств, а вспомогательные опорные пиксели для коррекции блока предсказания могут быть получены из блоков, смежных с текущим блоком текущего цветового пространства. Кроме того, они могут быть получены из блоков, смежных с соответствующими блоками других цветовых пространств. Кроме того, они могут быть получены из некоторых пикселей блока предсказания текущего блока. То есть некоторые пиксели в блоке предсказания могут быть использованы для коррекции некоторых пикселей в блоке предсказания.
[00427] В дополнение к приведенному выше описанию, в соответствии с дополнительными элементами кодирования/декодирования могут применяться адаптивные настройки. Приведенное выше описание сосредоточено на ограничении ненаправленного режима. Однако оно применимо к приведенным выше примерам не только в ограничительном смысле, и аналогичные или подобные настройки применимы и к другим режимам. Кроме того, такой же пример, как описанный выше, реализуется в соответствии с комбинацией множества элементов, а не одним элементом кодирования/декодирования.
[00428] Данный пример представляет собой пример получения блока предсказания текущего блока с использованием корреляции между цветовыми пространствами, но блок для получения корреляции получается из смежной области текущего блока и смежной области соответствующих блоков в других цветовых пространствах, и поэтому фильтрация может применяться к границе блока.
[00429] Существует множество случаев, в которых для генерирования блока предсказания в соответствии с настройками кодирования/декодирования может использоваться множество опорных пикселей. Подробнее, можно в соответствии с настройками кодирования/декодирования определить, поддерживается ли генерирование или коррекция блока предсказания с использованием второго опорного пикселя.
[00430] В качестве примера, использование дополнительных пикселей в процессе предсказания можно определить в неявном или явном виде. В явном случае вышеописанная информация может быть включена в элементы видео, последовательности, кадра, среза, плитки, блока и т.д.
[00431] В качестве примера определение в отношении того, использовать ли дополнительные пиксели в процессе предсказания, может применяться ко всем режимам предсказания или может применяться к некоторым режимам предсказания. В этом случае некоторые режимы предсказания могут представлять собой по меньшей мере один из горизонтального, вертикального, некоторых диагональных режимов, ненаправленных режимов, режимов копирования цвета или т.п.
[00432] В качестве примера, определение в отношении того, использовать ли дополнительных пикселей в процессе предсказания, может применяться ко всем блокам или может применяться к некоторым блокам. В этом случае некоторые блоки могут быть определены в соответствии с размером, формой и т.д. блоков, и соответствующими блоками являются блоки M×N (например, длины M и N равны 8, 16, 32, 64 и т.д.; если блоки являются квадратными, длина равна 8×8, 16×16, 32×32, 64×64 и т.д.; если блоки являются прямоугольными, прямоугольник может иметь соотношение сторон 2:1, 4:1 и т.д.).
[00433] Кроме того, использование дополнительных пикселей в процессе предсказания можно определить в соответствии с некоторыми настройками кодирования/декодирования. В этом случае настройки кодирования/декодирования могут представлять собой constrained_intra_pred_flag, и дополнительные опорные пиксели могут ограниченно использоваться в процессе предсказания в соответствии с флагом.
[00434] Например, если флагом ограничено использование области, содержащей второй опорный пиксель (т.е. предполагается область, заполненная при помощи процесса заполнения опорных пикселей или т.п. в соответствии с флагом), использование второго опорного пикселя в процессе предсказания может быть ограничено. Альтернативно второй опорный пиксель может использоваться в процессе предсказания независимо от флага.
[00435] В дополнение к случаям, описанным при помощи приведенного выше примера, могут иметься различные применения и модификации, такие как комбинации одного или более элементов. Кроме того, несмотря на то что в приведенном выше примере описаны лишь некоторые случаи, связанные с режимом копирования цвета, в дополнение к копированию цвета данный пример может в равной мере или переменным образом использоваться для генерирования или коррекции режима предсказания блока предсказания с использованием множества опорных пикселей.
[00436] В приведенном выше примере был описан случай, включающий одну настройку для генерирования или коррекции блока предсказания с использованием множества опорных пикселей в каждом режиме предсказания, но для каждого режима предсказания может использоваться множество настроек. То есть для генерирования информации о выборе может быть сконфигурировано множество групп кандидатов настроек фильтрации.
[00437] Коротко говоря, информация о выполнении фильтрации может обрабатываться в явном или неявном виде, и при выполнении фильтрации информация об информации о выборе фильтрации может обрабатываться в явном или неявном виде. При обработке информации в явном виде эта информация может быть включена в элементы видео, последовательности, кадра, среза, плитки и блока.
[00438] Сгенерированный блок предсказания может корректироваться, и ниже будет описан процесс коррекции блока предсказания.
[00439] Процесс коррекции может выполняться на основе предварительно определенных опорных пикселей и весовых коэффициентов. В этом случае опорный пиксель и взвешенное значение могут быть определены в соответствии с положением пикселя (ниже в данном документе называемого текущим пикселем) в текущем блоке, подлежащем коррекции. Опорный пиксель и взвешенное значение могут быть определены в соответствии с режимом внутреннего предсказания текущего блока.
[00440] Если режимом внутреннего предсказания текущего блока является ненаправленный режим, опорные пиксели ref_L и ref_T текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же горизонтальной/вертикальной линии, что и текущий пиксель. Взвешенное значение может включать по меньшей мере одно из первого взвешенного значения wL в направлении оси х, второго взвешенного значения wT в направлении оси y или третьего взвешенного значения wTL в диагональном направлении. Первое взвешенное значение может относиться к взвешенному значению, примененному к левому опорному пикселю, второе взвешенное значение может относиться к взвешенному значению, примененному к верхнему опорному пикселю, и третье взвешенное значение может относиться к взвешенному значению, примененному к верхнему левому опорному пикселю. Здесь первое взвешенное значение и второе взвешенное значение могут быть определены на основе информации о положении текущего пикселя и предварительно определенного масштабного коэффициента (nScale). Масштабный коэффициент может быть определен на основе ширины W и высоты H текущего блока. Например, первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>nScale)), и второе взвешенное значение (wT[x]) определяется как (32>>((y<<1)>>nScale)). Третье взвешенное значение wTL[x][y] может быть определено как ((wL[x]>>4) + (wT[y]>>4)). Однако, если режимом внутреннего предсказания является планарный режим, третье взвешенное значение может быть определено как равное 0. Масштабный коэффициент может быть приравнен к ((Log2(nTbW) + Log2(nTbH)-2)>>2).
[00441] Если режимом внутреннего предсказания текущего блока является вертикальный/горизонтальный режим, опорные пиксели ref L и ref T текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же горизонтальной/вертикальной линии, что и текущий пиксель. В вертикальном режиме первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>nScale)), второе взвешенное значение wT[y] может быть определено как равное 0, и третье взвешенное значение wTL[x][y] может быть определено как равное первому взвешенному значению. С другой стороны, в горизонтальном режиме первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как равное 0, второе взвешенное значение wT[y] может быть определено как (32>>((y<<1)>>nScale)), и третье взвешенное значение wTL[x][y] может быть определено как равное второму взвешенному значению.
[00442] Если режимом внутреннего предсказания текущего блока является диагональный режим, опорные пиксели refL и refT текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же диагональной линии, что и текущий пиксель. Здесь диагональная линия имеет такой же угол, как режим внутреннего предсказания текущего блока. Диагональная линия может представлять диагональную линию от нижнего левого конца к верхнему правому концу или может представлять диагональную линию от верхнего левого конца к нижнему правому концу. В этом случае первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>nScale)), второе взвешенное значение wT[y] определяется как (32>>((y<<1)>>nScale)), и третье взвешенное значение wTL[x][y] может быть определено как равное 0.
[00443] Если режим внутреннего предсказания текущего блока меньше или равен режиму 10, опорные пиксели refL и refT текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же диагональной линии, что и текущий пиксель. Здесь диагональная линия имеет такой же угол, как режим внутреннего предсказания текущего блока. В этом случае опорный пиксель может быть ограничен так, что используется только один из левого опорного пикселя или верхнего опорного пикселя текущего блока. Первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как равное 0, второе взвешенное значение wT[y] определяется как (32>>((y<<1)>>nScale)), и третье взвешенное значение wTL[x][y] может быть определено как равное 0.
[00444] Если режим внутреннего предсказания текущего блока больше или равен режиму 58, опорные пиксели refL и refT текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же диагональной линии, что и текущий пиксель. Здесь диагональная линия имеет такой же угол, как режим внутреннего предсказания текущего блока. В этом случае опорный пиксель может быть ограничен так, что используется только один из левого опорного пикселя или верхнего опорного пикселя текущего блока. Первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>nScale)), второе взвешенное значение wT[y] определяется как равное 0, и третье взвешенное значение wTL[x][y] может быть определено как равное 0.
[00445] На основе определенных опорных пикселей refL[x][y] и refT[x][y] и взвешенных значений wL[x], wT[y] и wTL[x][y], коррекция текущего пикселя predPixels[x][y] может быть выполнена по приведенной ниже формуле 1.
[00446] [Формула 1]
[00447] predPixels[x][y]=clip1Cmp((refL[x][y]*wL[x]+refT[x][y]*wT[y]-p[-1][-1]*wTL[x][y]+(64-wL[x]-wT[y]+wTL[x][y])*predPixels[x][y]+32)>>6)
[00448] Однако вышеописанный процесс коррекции может быть выполнен только тогда, когда текущий блок не выполняет внутреннее предсказание в элементах подблоков. Процесс коррекции может быть выполнен только тогда, когда опорным пикселем текущего блока является первая линия пикселей. Процесс коррекции может быть выполнен только тогда, когда режим внутреннего предсказания текущего блока соответствует конкретному режиму. Здесь конкретный режим может включать по меньшей мере одно из ненаправленного режима, вертикального режима, горизонтального режима, режима, который меньше предварительно определенного первого порогового режима, или режима, который больше предварительно определенного второго порогового режима. Первым пороговым режимом может являться 8, 9, 10, 11 или 12, и вторым пороговым режимом может являться 56, 57, 58, 59 или 60.
[00449] Секция определения режима предсказания выполняет процесс выбора оптимального режима во множестве групп режимов-кандидатов предсказания. Для определения режима с оптимальной стоимостью кодирования с целью генерирования количества битов соответствующего режима могут быть в целом рассмотрены искажение блока (например, искажение текущего блока и восстановленного блока; сумма абсолютной разности (SAD), сумма квадратичной разности (SSD) и т.д.) и технология случайного искажения. Блок предсказания, сгенерированный на основе режима предсказания, определенного при помощи вышеописанного процесса, может быть направлен в секцию вычитания и секцию сложения.
[00450] Секция кодирования режима предсказания выполнена с возможностью кодирования режима предсказания, выбранного при помощи секции определения режима предсказания. В группе режимов-кандидатов предсказания может кодироваться информация об индексах, соответствующая режиму предсказания, или режим предсказания может быть предсказан для кодирования связанной с ним информации. То есть первый случай указывает способ прямого кодирования режима предсказания без выполнения предсказания, и последний случай указывает способ предсказания режима предсказания так, что кодируется информация о предсказании режима кодирования и информация, полученная на основе информации о предсказании. Кроме того, первый пример представляет собой пример, который может применяться к цветоразностной компоненте, и последний пример представляет собой пример, который может быть применен к компоненте яркости. Настоящее изобретение не ограничено этими примерами, и также возможны другие случаи.
[00451] В случае выполнения кодирования путем предсказания режима предсказания, значение предсказания (или информация о предсказании) режима предсказания может называться наиболее вероятным режимом (МРМ). В этом случае как MPM конфигурируется предварительно заданный режим предсказания (например, режим DC, планарный режим, вертикальный режим, горизонтальный режим, диагональный режим и т.д.) или режим предсказания пространственно смежного блока (например, левого блока, верхнего блока, верхнего левого блока, верхнего правого блока, нижнего левого блока и т.д.). В данном примере диагональный режим может представлять режим диагонально вверх вправо, диагонально вниз вправо и диагонально вниз влево, которые могут соответствовать режиму 9, режиму 2 и режиму 66 на фиг. 9.
[00452] Кроме того, режим, полученный из режимов, включенных в группу МРМ-кандидатов, может быть сконфигурирован как группа МРМ-кандидатов. Например, в случае направленного режима, включенного в группу МРМ-кандидатов, режим с разностью a интервалов между режимами (например, a - ненулевое целое число, такое как 1, -1, 2 или -2; в случае если на фиг. 9 был добавлен режим 10, производными режимами являются режим 9, режим 11, режим 8, режим 12 и т.д.) повторно включается (или дополнительно включается) в группу МРМ-кандидатов.
[00453] Приведенный выше пример может соответствовать случаю, в котором группа МРМ-кандидатов выполнена во множестве режимов, группа МРМ-кандидатов (или число групп МРМ-кандидатов) может быть определена в соответствии с настройками кодирования/декодирования (например, группой режимов-кандидатов предсказания, типом изображения, размером блока, формой блока и т.д.), и может быть включен по меньшей мере один режим.
[00454] Режим предсказания для конфигурирования группы МРМ-кандидатов может иметь приоритет. Порядок режимов предсказания, включенных в группу МРМ-кандидатов, может определяться в соответствии с приоритетом, и конфигурация группы МРМ-кандидатов может быть завершена, если количество групп МРМ-кандидатов заполнено в соответствии с приоритетом. В этом случае приоритет, в свою очередь, может представлять собой режим предсказания пространственно смежного блока, предварительно заданный режим предсказания и режим, производный от режима предсказания, первоначально включенного в группу МРМ-кандидатов, однако возможны и другие модификации.
[00455] Если кодирование режима предсказания текущего блока выполнятся с использованием МРМ, может генерироваться информация о том, совпадает ли режим предсказания с МРМ (например, most_probable_mode_flag).
[00456] Если режим предсказания совпадает с MPM, (например, most_probable_mode_flag=1), в соответствии с конфигурацией МРМ может дополнительно генерироваться информация об индексах MPM (например, mpm_idx). Например, если MPM выполнен как один режим предсказания, дополнительная информация об индексах MPM не генерируется, а если MPM выполняется как множество режимов предсказания, в группе MPM-кандидатов может генерироваться информация об индексах, соответствующая режиму предсказания текущего блока.
[00457] Если режим предсказания не совпадает с MPM (например, most_probable_mode_flag=0), в оставшейся группе режимов-кандидатов предсказания (или группе режимов-кандидатов, не являющихся MPM), отличной от группы MPM-кандидатов в группах режимов-кандидатов предсказания, может генерироваться информация об индексах режимов, не являющихся MPM (например, non_mpm_idx), соответствующая режиму предсказания текущего режима, что может представлять собой пример случая, в котором режим, не являющийся MPM, сконфигурирован как одна группа.
[00458] Если группа режимов-кандидатов, не являющихся MPM, состоит из множества групп, может генерироваться информация о том, к какой группе принадлежит режим предсказания текущего блока. Например, режим, не являющийся MPM, конфигурируется группами А и B (в предположении, что А сконфигурирована m режимами предсказания, B сконфигурирована n режимами предсказания, режим, не являющийся MPM, сконфигурирован m+n режимами предсказания, и n больше, чем m; в предположении, что режим из группы А представляет собой направленный режим и имеет равные интервалы, и режим из группы B представляет собой направленный режим и не имеет равные интервалы), если режим предсказания текущего блока совпадает с режимом предсказания из группы А (например, non_mpm_A_flag=1), информация об индексах, соответствующая режиму предсказания текущего блока, может генерироваться в группе А кандидатов, и, если совпадение отсутствует (например, non_mpm_A_flag=0), информация об индексах, соответствующая режиму предсказания текущего блока, может генерироваться в остальных группах режимов-кандидатов предсказания (или группе B кандидатов). Как и в приведенном выше примере, режим, не являющийся MPM, может быть сконфигурирован как по меньшей мере одна группа (или набор) режимов-кандидатов предсказания, и конфигурация режимов, не являющихся MPM, может быть определена в соответствии с группой режимов-кандидатов предсказания. Например, если имеется не более 35 групп режимов-кандидатов предсказания, может иметься один режим, не являющийся MPM, а в других случаях имеется два или более режимов, не являющихся MPM.
[00459] Как и в приведенном выше примере, цель поддержки режимов, не являющихся MPM, заключается в том, что количество режимов предсказания является большим, если режим, не являющийся MPM, состоит из множества групп, и количество битов режима уменьшается, если режим предсказания не предсказывается при помощи MPM.
[00460] Если кодирование режима предсказания (или декодирование режима предсказания) текущего блока выполняется с использованием MPM, таблица преобразования в двоичную форму, применяемая к каждой группе режимов-кандидатов предсказания (например, к группе MPM-кандидатов, группе режимов-кандидатов, не являющихся MPM, и т.д.), может генерироваться отдельно, и способ преобразования в двоичную форму, применяемый к каждой группе кандидатов, также может применяться отдельно.
[00461] Информация, связанная с предсказанием, которая генерируется при помощи секции кодирования режима предсказания, может передаваться в секцию кодирования и включаться в битовый поток.
[00462] На фиг. 14 представлен пример блока древовидного разделения согласно варианту осуществления настоящего изобретения.
[00463] На фиг. 14 i представляет разделение на основе четверичного дерева, ii представляет горизонтальное разделение при разделении на основе двоичного дерева, и iii представляет вертикальное разделение при разделении на основе двоичного дерева. На данной фигуре А-C представляют исходные блоки (блоки до разделения, например, в предположении, что оно представляет собой элемент дерева кодирования), и числа после текста представляют номер каждого раздела после выполнения разделения. В случае четверичного дерева верхнему левому блоку, верхнему правому блоку, нижнему левому блоку и нижнему правому блоку присвоены, соответственно, номера 0-3, а в случае двоичного дерева левому/верхнему блоку и нижнему/правому блоку, соответственно, присвоены номера 0 и 1.
[00464] Со ссылкой на фиг. 14, состояние разделения или информация о разделении, выполняемом для получения соответствующего блока, может быть определена посредством текста и чисел, полученных в процессе разделения.
[00465] Например, на изображении i по фиг. 14 блок A00 представляет собой верхний левый блок (добавление 0 к A0) в четырех блоках, полученных путем выполнения разделения на основе четверичного дерева в отношении верхнего левого блока A0 (добавление 0 к А) из четырех блоков, полученных после выполнения разделения на основе четверичного дерева в отношении исходного блока А.
[00466] Альтернативно на изображении ii по фиг. 14 блок B10 представляет собой верхний блок (добавление 0 к B1) в двух блоках, полученных путем выполнения горизонтального разделения при разделении на основе двоичного дерева в отношении нижнего блока B1 (добавление 1 к B) из двух блоков, полученных после выполнения горизонтального разделения при разделении на основе двоичного дерева в отношении исходного блока B.
[00467] При помощи вышеописанного разделения могут быть получены состояние разделения и информация о разделении (например, поддерживаемые настройки разделения <тип древовидного режима и т.д.>) каждого блока, диапазон поддержки блока, такой как минимальный размер и максимальный размер <подробно - диапазон поддержки в соответствии со способом разделения>, допустимая глубина разделения <подробно - диапазон поддержки в соответствии со способом разделения>, флаг разделения <подробно - флаг разделения в соответствии со способом разделения>, тип изображения <I/P/B>, состояние разделения режима кодирования блока <внутреннее предсказание/предсказание, осуществляемое между изображениями>, настройки кодирования/декодирования, необходимые для подтверждения информации, информация и т.д., и может быть подтверждено, к какому блоку (порождающему блоку) принадлежит текущий блок до этапа разделения с целью получения текущего блока (порожденного блока). Например, на изображении i по фиг. 14 для блока A31 смежные блоки могут включать A30, A12 и A13, и может быть подтверждено, что A30 принадлежит к тому же блоку A3, что и A31, на этапе разделения предыдущего этапа. В случае A12 и A13 на предыдущем этапе, то есть на этапе разделения A3, A12 и A13 принадлежат к другому блоку A1, и может быть подтверждено, что A12 и A13 принадлежат к одному блоку A только на предыдущем этапе.
[00468] Тогда как предыдущий пример предназначен для случая одной операции разделения (четверичное разделение четверичного дерева или горизонтальное/вертикальное разделение двоичного дерева), в следующих примерах будет разъяснен случай выполнения разделения на основе множества деревьев.
[00469] На фиг. 15 представлен пример блока разделения на основе множества деревьев согласно варианту осуществления настоящего изобретения.
[00470] Со ссылкой на фиг. 15, состояние разделения или информация о разделении, выполняемом для получения соответствующего блока, может быть подтверждена посредством текста и чисел, полученных в процессе разделения. В данном примере каждое слово не означает исходный блок, но информация о разделении указана числом.
[00471] Например, в случае блока A1A1B0, верхний правый блок A1 получается при выполнении разделения на основе четверичного дерева в отношении исходного блока, верхний правый блок (добавление A1 к A1) получается при выполнении разделения на основе четверичного дерева в отношении блока A1, и верхний блок (добавление B0 к A1A1) представляется при выполнении горизонтального разделения на основе двоичного дерева в отношении блока A1A1.
[00472] Необязательно, в случае блока A3B1C1, нижний правый блок A3 получается при выполнении разделения на основе четверичного дерева в отношении исходного блока, нижний блок (добавление B1 к A3) получается при выполнении горизонтального разделения при разделении на основе двоичного дерева в отношении блока A3, и правый блок (добавление C1 к A3B1) представляется при выполнении вертикального разделения в процессе разделения на основе двоичного дерева в отношении A3B1.
[00473] В данном примере при помощи информации о разделении в соответствии с этапом разделения каждого блока возможно определить информацию о взаимосвязи между текущим блоком и смежным блоком, например, то, на каком этапе разделения текущий блок и смежный блок являются идентичными.
[00474] На фиг. 14 и 15 приведены некоторые примеры определения информации о разделении каждого блока, и информация о разделении каждого блока может подтверждаться с использованием различной информации для определения информации о разделении и комбинированной информации (например, флага разделения, информации о глубине, максимального значения информации о глубине, диапазона блока и т.д.) так, что может быть определена взаимосвязь между блоками.
[00475] На фиг. 16 представлена принципиальная схема, изображающая различные ситуации разделения блока.
[00476] В целом, поскольку в изображении имеется различная текстурная информация, затруднительно выполнить кодирование/декодирование с использованием способа кодирования/декодирования. Например, некоторые области могут содержать области, в которых существуют более сильные краевые компоненты в определенном направлении, и некоторые области могут содержать комплексные области, в которых краевые компоненты не существуют. Для эффективного выполнения кодирования в отношении этих областей важную роль играет разделение блока.
[00477] Целью выполнения разделения блока является эффективное разделение областей в соответствии с характерными признаками изображения. Однако при использовании лишь одного режима разделения (например, разделения на основе четверичного дерева) может быть затруднительно надлежащим образом отразить характеристики изображения для выполнения разделения.
[00478] Со ссылкой на фиг. 16, может быть подтверждено, что изображения, содержащие различные текстуры, разделяются в соответствии с разделением на основе четверичного дерева и разделением на основе двоичного дерева. a-e могут представлять собой случай, в котором поддерживается только разделение на основе четверичного дерева, и f-j могут представлять случай, в котором поддерживается только разделение на основе двоичного дерева.
[00479] В данном примере разделы в соответствии с разделением на основе четверичного дерева называются UL, UR, DL и DR, и разделение на основе двоичного дерева также описано на этой основе.
[00480] Изображение a по фиг. 16 может представлять собой текстурную форму, в которой разделение на основе четверичного дерева достигает оптимальной эффективности: она может быть разделена на четыре части путем одного разделения (Div_HV) на основе четверичного дерева, и кодирование/декодирование выполняется в элементах каждого блока. В то же время, при применении разделения на основе двоичного дерева, как изображено на изображении f по фиг. 16, в отличие от четверичного дерева, может потребоваться три разделения (Div_V - дважды, Div_H - один раз).
[00481] Изображение b по фиг. 16 таково, что текстура разделяется на верхнюю и нижнюю области блока, на изображении b по фиг. 16, если применяется разделение на основе четверичного дерева, требуется одно разделение (Div_HV), и на изображении g по фиг. 16 одно разделение Div_H также может выполняться при разделении на основе двоичного дерева. В предположении, что флаг разделения на основе четверичного дерева требует 1 бит, и флаг разделения на основе двоичного дерева требует более 2 битов, четверичное дерево можно считать эффективным в том, что касается битов флагов, но информация о кодировании/декодировании (например, информация для выражения текстурной информации (информация для выражения текстуры (остаточный сигнал, коэффициент кодирования, информация, указывающая присутствие или отсутствие коэффициента кодирования)), информация о предсказании <например, информация, связанная с внутренним предсказанием, и информация, связанная с предсказанием, осуществляемым между изображениями>, информация о преобразовании <например, информация о категории преобразования, информация о разделении преобразования и т.д.>) генерируется в элементах каждого блока. В этом случае эффективность разделения на основе четверичного дерева невысока по сравнению с разделением на основе двоичного дерева, поскольку текстурная информация представляет собой пример разделения аналогичных областей и генерирования соответствующей информации заново.
[00482] В других случаях фиг. 16 определить то, какое дерево является более эффективным, также возможно в соответствии с категорией текстуры. Из приведенных выше примеров можно подтвердить, что, для того чтобы при помощи приведенных выше примеров можно было разделить эффективную область в соответствии с характеристиками изображения, чрезвычайно важной является поддержка размера переменного блока и различных режимов разделения.
[00483] Подробный анализ разделения на основе четверичного дерева и разделения на основе двоичного дерева выполняется следующим образом.
[00484] Со ссылкой на изображение b на фиг. 16 изображены блоки (в данном примере - левый блок и верхний блок), смежные с нижним правым блоком (текущим блоком). Видно, что левый блок представляет собой блок, имеющий характеристики, аналогичные текущему блоку, а верхний блок представляет собой блок, имеющий характеристики, отличные от текущего блока. И хотя блок имеет свойства, аналогичные некоторым блокам (в данном примере - левому блоку), возможен случай, в котором блок был сегментирован исходя из свойств разделения на основе четверичного дерева.
[00485] В этом случае, поскольку текущий блок имеет характеристики, аналогичные левому блоку, может генерироваться аналогичная информация о кодировании/декодировании. В случае режима внутреннего предсказания (например, МРМ, т.е. информации, предсказывающей режим текущего блока, исходя из смежных блоков с целью сокращения количества битов режима предсказания текущего блока), появляется режим предсказания информации о движении (например, режим пропуска, режим слияния, информация для сокращения битов режима (например, состязательный режим)) для эффективного исключения данной ситуации, при этом информация левого блока доступна для отсылки. То есть, если информация о кодировании (например, информация о внутреннем предсказании, информация о предсказании, осуществляемом между изображениями, информация о фильтре, информация о коэффициентах и т.д.) текущего блока отнесена к одному из левого блока и верхнего блока, может быть сделана отсылка к более точной информации (в данном примере - к левому блоку).
[00486] Со ссылкой на изображение e на фиг. 16, предполагается небольшой блок в нижнем правом углу (блок, разделяющий текущий блок дважды). Аналогично, текущий блок также имеет характеристики, аналогичные верхнему блоку левого блока или верхнего блока, поэтому эффективность кодирования может быть повышена путем отсылки к информации о кодировании из соответствующего блока (в данном примере - верхнего блока).
[00487] И наоборот, со ссылкой на изображение j на фиг. 16 делается отсылка к левому блоку, смежному с крайним правым блоком (блоком, разделяющим текущий блок дважды). В данном примере, поскольку верхний блок отсутствует, при отсылке только к левому блоку может быть подтверждено, что текущий блок представляет собой блок, имеющий характеристику, отличную от левого блока. Может быть подтверждено, что разделение на основе четверичного дерева может быть аналогично части смежных блоков, тогда как разделение на основе двоичного дерева имеет высокую вероятность получения разных характеристик из смежных блоков.
[00488] Подробнее, если некоторые блоки (х) и смежные блоки (у) являются одними и теми же блоками до соответствующего разделения, для разделения на основе четверичного дерева некоторые блоки (х) и смежные блоки (у), которые являются такими же, как блоки до разделения, могут иметь аналогичные характеристики или различные характеристики, и наоборот, для двоичного дерева в большинстве случаев некоторые блоки (х) и смежные блоки (у), являющиеся такими же, как блоки до разделения, могут иметь различные характерные признаки. Другими словами, если имеется случай аналогичных характеристик, нет необходимости в выполнении разделения блока, и блоки являются окончательно определенными до разделения, но в большинстве случаев блоки подвергаются разделению из-за разных характеристик.
[00489] В дополнение к приведенному выше примеру, на изображении i по фиг. 16 нижний правый блок х и нижний левый блок у могут иметь следующие взаимосвязи. То есть, поскольку характеристики изображения верхних блоков аналогичны, деление определяется без выполнения разделения, и поскольку характеристики изображения нижних блоков являются разными, деление определяется после разделения на нижний левый блок и нижний правый блок.
[00490] Коротко говоря, в случае разделения на основе четверичного дерева, если имеется смежный блок, имеющий порождающий блок, идентичный текущему блоку в смежных блоках, смежных с текущим блоком, он может иметь характеристики, аналогичные или отличные от текущего блока, поскольку характеристикой четверичного дерева является безусловное разделение блока на 1/2 в горизонтальном и вертикальном направлениях. В случае разделения на основе двоичного дерева, если имеется смежный блок, имеющий порождающий блок, идентичный текущему блоку в смежных блоках, смежных с текущим блоком, в отношении смежного блока может быть выполнено горизонтальное или вертикальное разделение в соответствии с характеристиками изображения, поэтому «был подвергнут разделению» может означать разделение из-за разных характеристик.
[00491] (Разделение на основе четверичного дерева)
[00492] Смежный блок (в данном примере предполагаемый, но без ограничения, как левый блок или верхний блок), который является таким же, как блок до разделения, в сравнении с текущим блоком может иметь характеристики, аналогичные текущему блоку или отличные от него.
[00493] Кроме того, смежные блоки, отличные от текущего блока и блока до разделения, могут иметь характеристики, аналогичные текущему блоку или отличные от него.
[00494] (Разделение на основе двоичного дерева)
[00495] Смежный блок (в данном примере предполагаемый как левый блок или верхний блок, максимальное количество кандидатов равно одному вследствие двоичного дерева), который является таким же, как блок до разделения, в сравнении с текущим блоком может иметь отличные характеристики.
[00496] Кроме того, смежные блоки, отличные от блока до разделения, в сравнении с текущим блоком могут иметь характеристики, аналогичные текущему блоку или отличные от него.
[00497] Описания будут осуществлены ниже при том условии, что сделанное выше предположение является основным предположением настоящего изобретения. В соответствии с приведенным выше содержимым, можно различить случай (1), в котором характеристики смежных блоков аналогичны или отличны от текущего блока, и случай (2), в котором характеристики смежных блоков отличны от характеристик текущего блока.
[00498] Снова делается отсылка к фиг. 15.
[00499] В качестве примера (текущим блоком является A1A2), так как блок A1 до разделения блока A1A2 отличается от блока до разделения (исходного блока) блока A0, блок A0 (левый блок) в смежных блоках может быть классифицирован (т.е. в случае когда неизвестно, является характеристика аналогичной или отличной от текущего блока) как общий случай.
[00500] Для смежного блока A1A0 (верхний блок), так как блок A1 до разделения блока A1A2 является таким же, как блок до разделения блока A1A0, режим разделения может быть подтвержден. В этом случае, поскольку режимом разделения является разделение (А) на основе четверичного дерева, он классифицируется как общий случай.
[00501] В качестве примера (текущим блоком является A2B0B1), блок A2B0 до разделения блока A2B0B1 является таким же, как блок A2B0B1 до разделения блока A2B0B1 для блока A2B0B0B0 (верхний блок) в смежных блоках, что, таким образом, подтверждает режим разделения. В этом случае, поскольку режимом разделения является разделение (В) на основе двоичного дерева, он классифицируется как исключительный случай.
[00502] В качестве примера (текущим блоком является A3B1C0), в смежных блоках, так как блок A3B1 до разделения блока A3B1C0 отличается от блока А3 до разделения блока A3B0, блок A3B0 (в данном примере - верхний правый блок) может быть классифицирован как общий случай.
[00503] Как описано в приведенном выше примере, смежные блоки могут быть классифицированы на общий случай и исключительный случай. Для общего случая неизвестно, можно ли использовать информацию о кодировании соответствующего смежного блока в качестве информации о кодировании текущего блока, а для исключения определено, что информацию о кодировании соответствующего смежного блока нельзя использовать в качестве информации о кодировании текущего блока.
[00504] На основе приведенной выше классификации способ получения информации о предсказании текущего блока из смежных блоков можно использовать.
[00505] Коротко говоря, подтверждается, являются ли одинаковыми (А) блоки до разделения текущего блока и смежные блоки.
[00506] Если А имеет одинаковый результат, режим разделения текущего блока (если это так, то не только текущий блок, но также смежные блоки представляют собой блоки, определенные с использованием одного режима разделения, что, таким образом, подтверждает только текущий блок) является подтвержденным (B).
[00507] Если результат А отличается, процесс завершается (заканчивается).
[00508] Если результатом B является разделение на основе четверичного дерева, смежные блоки помечаются как нормальные, и процесс завершается (заканчивается).
[00509] Если результатом B является разделение на основе двоичного дерева, смежные блоки помечаются как исключительные, и процесс завершается (заканчивается).
[00510] Приведенный выше пример может быть применен к настройке группы кандидатов предсказания режимов внутреннего предсказания (связанной с МРМ) согласно настоящему изобретению. Могут поддерживаться настройки общей группы кандидатов предсказания (например, приоритеты конфигурации группы кандидатов и т.д.) и настройки исключительной группы кандидатов предсказания, и приоритеты могут сдвигаться назад или исключаться из групп кандидатов, полученных из блока на основе состояний вышеуказанных смежных блоков.
[00511] В этом случае смежные блоки, в которых применяются эти настройки, могут быть ограничены пространственным случаем (одно пространство) или могут являться применимыми к случаю получения из других цветовых пространств одного изображения, такому как режим копирования цвета. То есть приведенные выше настройки могут быть выполнены с учетом состояния предсказания или т.п. для блока, полученного при помощи режима копирования цвета.
[00512] В дополнение к приведенному выше примеру, следующий пример представляет собой пример адаптивного определения настроек кодирования/декодирования (например, настройки группы кандидатов предсказания, настройки опорных пикселей и т.д.) в соответствии с взаимосвязью между блоками (в приведенном выше примере относительная взаимосвязь между текущим блоком и другими блоками идентифицируется с использованием информации о блоке разделения и т.д.).
[00513] Данный пример (компонента яркости) описан на основе предположения о том, что из смежных блоков выбираются всего 3 кандидата (в данном примере - левый и правый), и они задаются как группа МРМ-кандидатов, если в устройстве для кодирования/декодирования имеется 35 предопределенных режимов внутреннего предсказания.
[00514] Путем добавления одного кандидата, соответственно, в левый блок L0 и верхний блок T0 может быть сконфигурировано всего два кандидата. Если группу кандидатов нельзя сконфигурировать в каждом блоке, ее можно заменить или заполнить режимом DC, планарным режимом, вертикальным режимом, горизонтальным режимом, диагональным режимом и т.д. Если два кандидата заполнены при помощи вышеописанного процесса, оставшийся кандидат может считаться заполненным числом в различных случаях.
[00515] Например, если кандидаты, заполненные в каждом блоке, являются одинаковыми, смежные режимы вышеописанного режима заменяются способом, который не перекрывается с режимами, включенными в группу кандидатов (например, k_mode-2, k_mode-2, k_mode+1, k_mode+2 и т.д., если одним и тем же режимом является k_mode). Альтернативно, если кандидаты, заполненные в каждом блоке, являются одинаковыми или разными, группа кандидатов может быть сконфигурирована путем добавления планарного режима, режима DC, вертикального режима, горизонтального режима и диагонального режима.
[00516] При помощи вышеописанного процесса может быть сконфигурирована группа (общий случай) режимов-кандидатов внутреннего предсказания. Установленная таким образом группа кандидатов принадлежит к общему случаю, и в соответствии со смежными блоками может быть сконфигурирована адаптивная группа режимов-кандидатов внутреннего предсказания (исключительный случай).
[00517] Например, если смежный блок помечен исключительным состоянием, группа кандидатов, производная от этого блока, может быть исключена. Если левый блок помечен как исключительное состояние, группа кандидатов может быть сконфигурирована верхним блоком и предварительно заданным режимом предсказания (например, режимом, полученным из блока DC, планарного блока, вертикального блока, горизонтального блока, диагонального блока, и верхнего блока, и т.д.). Приведенный выше пример может быть применен идентично/аналогично даже тогда, когда группа МРМ-кандидатов сконфигурирована более чем тремя МРМ-кандидатами.
[00518] Описание будет выполнено на основе следующих предположений: данный пример (цветоразностная компонента) содержит пять режимов внутреннего предсказания (режим DC, планарный режим, вертикальный режим, горизонтальный режим и, в данном примере, цветовой режим), и кодирование/декодирование выполняется путем конфигурирования режимов предсказания, которым адаптивно присваиваются приоритеты, как групп кандидатов (т.е. кодирование/декодирование выполняется непосредственно, без использования МРМ).
[00519] Во-первых, цветовой режим наделяется высшим приоритетом (в данном примере - индекс 0; «для 0» присваивается 1 бит), тогда как другие режимы (в данном примере - планарный, вертикальный, горизонтальный и DC) наделяются низким приоритетом (в данном примере - соответственно, индексами 1-4, присваивается 3 бита со значениями «100», «101», «110», «111»).
[00520] Если цветовой режим совпадает с одним из других режимов предсказания (DC, планарным, вертикальным и горизонтальным) из группы кандидатов, приоритету, наделяющему совпадающий режим предсказания (в данном примере - индексы 1-4), может быть присвоен предварительно заданный режим предсказания (например, диагональный режим и т.д.), и, если совпадение отсутствует, конфигурация группы кандидатов завершается.
[00521] При помощи вышеописанного процесса может быть сконфигурирована группа кандидатов для режима внутреннего предсказания. Пример, осуществленный таким образом, соответствует общему случаю, и в соответствии с блоками полученного цветового режима может быть сконфигурирована адаптивная группа кандидатов.
[00522] В данном примере, если блок, соответствующий текущему блоку в других цветовых пространствах полученного цветового режима, конфигурируется как один блок (т.е. состояние отсутствия разделения), он может называться общим случаем, и, если он сконфигурирован как множество блоков (т.е. состояние разделения более чем двух блоков), он может называться исключительным случаем. Как описано выше, может иметься пример на основе следующих предположений: данный пример отличается от примера, в котором классификация выполняется в соответствии с тем, является ли текущий блок таким же, как порождающий блок смежного блока, с режимом разделения или т.п., и, если конфигурируется множество соответствующих блоков разных цветовых пространств, имеется более высокая вероятность характеристик, отличных от текущего блока. То есть это следует понимать как пример адаптивно определяющих настроек кодирования/декодирования в соответствии с взаимосвязью между блоками.
[00523] Если соответствующий блок помечен как исключительное состояние в соответствии с приведенным выше примером предположения, режим предсказания, полученный из этого блока, может иметь низкий приоритет. В этом случае одному из других режимов предсказания (планарного, DC, вертикального и горизонтального) может быть присвоен высокий приоритет, а низкий приоритет может быть присвоен другим режимам предсказания и цветовым режимам, не включенным в приоритет.
[00524] Для простоты описания, приведенные выше примеры описаны на основе некоторых предположений, но без ограничения, и такие же или аналогичные применения могут использоваться для различных вышеописанных вариантов осуществления настоящего изобретения.
[00525] Подводя итог, группа А кандидатов может использоваться тогда, когда имеются блоки, помеченные как исключительные состояния в смежных блоках, и группа B кандидатов может использоваться тогда, когда имеются блоки, помеченные как исключительные состояния. Следует понимать, что приведенная выше классификация делится на два случая, но конфигурация группы кандидатов внутреннего предсказания в элементах блоков может быть адаптивно реализована в соответствии с исключительными состояниями и положениями блоков.
[00526] Кроме того, приведенный выше пример описывает древовидное разделение в режиме разделения, но им не ограничен. Подробнее, в приведенном выше примере возможно задать блок, полученный с использованием по меньшей мере одного древовидного режима разделения, как блок кодирования и непосредственно выполнить предсказание, преобразование и т.д. без разделения этого блока на блоки предсказания, блоки преобразования и т.д.
[00527] В качестве другого примера настроек разделения, блок кодирования получается с использованием древовидного разделения, и на основе полученного блока кодирования получается по меньшей мере один блок предсказания.
[00528] Например, предполагается, что блок кодирования (2N×2N) может быть получен с использованием древовидного разделения (в данном примере - на основе четверичного дерева), и блок предсказания получается с использованием типизированного разделения (типами кандидатов, поддерживаемыми в данном примере, являются 2N×2N, 2N×N, N×2N и N×N). В этом случае, если блок кодирования (в данном примере предполагаемый как порождающий блок) разделяется на множество блоков предсказания (в данном примере предполагаемых как подблоки), настройка вышеописанного исключительного состояния или т.п. также может применяться между блоками предсказания.
[00529] Как изображено на изображении g по фиг. 16, если в блоке кодирования (жирная сплошная линия) имеется два блока предсказания (разделенных тонкой сплошной линией), нижний блок имеет характеристику, отличную от верхнего блока, и не относится к информации о кодирования верхнего блока или имеет низкий приоритет.
[00530] На фиг. 17 изображен пример разделения блока согласно варианту осуществления настоящего изобретения. Подробнее, изображен пример, в котором базовый блок кодирования (максимальный блок кодирования, 8N×8N) получает блок кодирования (диагональный блок, 2N×2N) с использованием разделения на основе четверичного дерева, и полученный блок кодирования разделяется на по меньшей мере один блок предсказания (2N×2N, 2N×N, N×2N и N×N) при помощи типизированного разделения.
[00531] Ниже будет описана настройка группы режимов-кандидатов внутреннего предсказания для случая получения прямоугольных блоков (2N×N и N×2N).
[00532] На фиг. 18 изображены различные примеры групп режимов-кандидатов внутреннего предсказания в отношении настройки блоков, генерирующих информацию о предсказании (блоками предсказания в данном примере являются блоки 2N×N).
[00533] Данный пример предполагает, что, если имеется 67 режимов внутреннего предсказания (компонента яркости), из смежных блоков (в данном примере - левого, верхнего, верхнего левого, верхнего правого и нижнего левого) выбирается всего 6 кандидатов, и они задаются в группу МРМ-кандидатов.
[00534] Со ссылкой на фиг. 13, четыре кандидата могут быть сконфигурированы в порядке L3-T3-B0-R0-TL, и два кандидата могут быть сконфигурированы в предварительно заданном режиме (например, планарном и DC). Если в вышеописанной конфигурации максимальное количество (в данном примере - 6) не заполнено, может быть включен режим предсказания (например, k_mode-2, k_mode-2, k_mode+1, k_mode+2 и т.д., если k_mode доступен), полученный из режимов предсказания, включенных в группу кандидатов, предварительно заданного режима (например, вертикального, горизонтального или диагонального и т.д.) и т.д.
[00535] В данном примере, в случае пространственно смежных блоков, приоритетом группы кандидатов является порядок левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок текущего блока (подробнее, подблоки на нижней стороне левого блока и правой стороне верхнего блока), и для предварительно заданного режима, в свою очередь, предполагается порядок планарный-DC-вертикальный-горизонтальный-диагональный режим.
[00536] Со ссылкой на изображение a по фиг. 18, как и при настройке группы кандидатов в приведенном выше примере, текущий блок (2N×N, PU0) может конфигурировать группу кандидатов в порядке l1-t3-l2-tr-t1 (так как другое содержимое повторяется, оно опущено). В данном примере смежный блок текущего блока может представлять собой блок, который был закодирован/декодирован (блок кодирования, т.е. блок предсказания в других блоках кодирования).
[00537] В отличие от вышесказанного, если положение текущего блока соответствует PU1, может быть задана по меньшей мере одна группа режимов-кандидатов внутреннего предсказания. В целом блок, смежный с текущим блоком, с большей вероятностью аналогичен характеристикам текущего блока, и поэтому является более преимущественным для конфигурирования группы кандидатов из соответствующего блока (1). С другой стороны, может потребоваться конфигурирование группы кандидатов для параллельной обработки кодирования/декодирования (2).
[00538] Если текущим блоком является PU1, при настройке здания группы кандидатов, как в случае (1), например, на изображении b по фиг. 18, группы кандидатов могут быть сконфигурированы в порядке l3-c7-bl-k-l1 (k может быть получено из c7 или tr и т.д.), и в случае настройки конфигурации группы кандидатов, как в случае (2), например, на изображении c по фиг. 18, группы кандидатов могут быть сконфигурированы в порядке l3-bl-k-l1 (k может быть получено из tr и т.д.). Разница между двумя этими примерами заключается в том, включена ли группа режимов-кандидатов внутреннего предсказания для верхнего блока. То есть в первом случае режим внутреннего предсказания верхнего блока включен в группу кандидатов с целью повышения эффективности кодирования/декодирования режима внутреннего предсказания, и в последнем случае режим внутреннего предсказания верхнего блока, на который нельзя сослаться, исключается из группы кандидатов для параллельной обработки или т.п., так как еще не было определено, завершено ли кодирование/декодирование.
[00539] На фиг. 19 изображены различные примеры настроек групп режимов-кандидатов внутреннего предсказания в отношении настройки блоков, генерирующих информацию о предсказании (блоками предсказания в данном примере являются блоки N×2N).
[00540] Данный пример предполагает, что, если имеется 67 режимов внутреннего предсказания (компонента яркости), из смежных блоков (в данном примере - левого, верхнего, верхнего левого, верхнего правого и нижнего левого) выбирается всего 6 кандидатов, и они задаются в группу МРМ-кандидатов.
[00541] Со ссылкой на фиг. 13, один кандидат может быть сконфигурирован в порядке L3-L2-L1-L0 (верхний блок), один кандидат может быть образован в порядке T3-T2-T1-T0 (верхний блок), два кандидата могут быть сконфигурированы в порядке B0-R0-TL (верхний левый блок, верхний правый блок и нижний левый блок), и два кандидата могут быть сконфигурированы в предварительно заданном режиме (например, планарном или DC). Если в вышеописанной конфигурации максимальное количество не заполнено, может быть включен режим предсказания, полученный из режимов предсказания, включенных в группу кандидатов, предварительно заданного режима и т.д. В этом случае приоритетом конфигурации группы кандидатов может являться порядок левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок.
[00542] Со ссылкой на изображение a по фиг. 19, текущий блок (N×2N, PU0) может конфигурировать одного кандидата в порядке l3-l2-l1-l0, одного кандидата в порядке t1-t0 и двух кандидатов в порядке bl-t2-tl таким же образом, как при настройках групп кандидатов в приведенных выше примерах. В данном примере смежный блок текущего блока может представлять собой блок, который был закодирован/декодирован (блок кодирования; т.е. блок предсказания в других блоках кодирования).
[00543] В отличие от вышесказанного, если положение текущего блока соответствует PU1, может быть задана по меньшей мере одна группа режимов-кандидатов внутреннего предсказания. В приведенных выше примерах могут быть сконфигурированы (1) и (2).
[00544] Если текущим блоком является PU1, также может быть сконфигурирован один кандидат в порядке c13-c9-c5-c1, один кандидат - в порядке t3-t2 и два кандидата - в порядке k-tr-t1 (k может быть получен из bl или c13 и т.д.) при настройке конфигурации группы кандидатов, как в (1), например, на изображении b по фиг. 19, и также может быть сконфигурирован один кандидат в порядке t3-t2 и две группы кандидатов - в порядке k-tr-t1 (k может быть получен из bl и т.д.) при настройке конфигурации группы кандидатов, как в (2), например, на изображении c по фиг. 19. Разница между двумя этими примерами заключается в том, включена ли группа режимов-кандидатов внутреннего предсказания для верхнего блока. То есть в первом случае режим внутреннего предсказания левого блока включен в группу кандидатов с целью повышения эффективности кодирования/декодирования режима внутреннего предсказания, и в последнем случае режим внутреннего предсказания левого блока, на который нельзя сослаться, исключается из группы кандидатов для параллельной обработки или т.п., так как еще не было определено, завершено ли кодирование/декодирование.
[00545] Таким образом, конфигурация группы кандидатов может быть определена в соответствии с настройками конфигурации группы кандидатов. В данном примере настройки конфигурации группы кандидатов (в данном примере - настройки конфигурации группы кандидатов для параллельной обработки) могут определяться в неявном виде, или связанная информация может быть в явном виде включена в элементы видео, последовательности, кадра, среза, плитки и т.д.
[00546] Краткое описание приведенного выше содержимого является следующим. Предполагается, что связанная информация определяется в неявном виде или генерируется в явном виде.
[00547] Настройка конфигурации группы режимов-кандидатов внутреннего предсказания подтверждается на исходной стадии кодирования/декодирования (А).
[00548] Если результат подтверждения для А является таким, что можно сделать отсылку к настройке предыдущего блока предсказания в том же блоке кодирования, режим внутреннего предсказания блока включается в группу кандидатов (конец).
[00549] Если результат подтверждения для А является таким, что отсылка к настройке предыдущего блока предсказания в том же блоке кодирования запрещена, режим внутреннего предсказания блока исключается из группы кандидатов (конец).
[00550] Для простоты описания, приведенные выше примеры описаны на основе некоторых предположений, но без ограничения, и такие же или аналогичные применения могут применяться к различным вышеописанным вариантам осуществления настоящего изобретения.
[00551] На фиг. 20 изображен пример разделения блока согласно варианту осуществления настоящего изобретения. Подробнее, базовый блок кодирования (максимальный блок кодирования) представляет пример получения блока кодирования (диагонального блока A×B) путем разделения на основе двоичного дерева (или разделений на основе множества деревьев), и полученный блок кодирования задается как блок предсказания.
[00552] В этом случае ниже будет описана настройка группы кандидатов предсказания информации о движении для случая получения прямоугольного блока (A×B, A≠B).
[00553] На фиг. 21 изображены различные примеры групп режимов-кандидатов внутреннего предсказания для настройки блоков, генерирующих информацию предсказания (в данном примере - блока кодирования 2N×N).
[00554] Описание выполняется на основе следующих предположений. Если данный пример (компонента яркости) содержит 67 режимов внутреннего предсказания, из смежных блоков (в данном примере - левого, верхнего, верхнего левого, верхнего правого и нижнего левого) выбирается всего 6 кандидатов, и они задаются в группу МРМ-кандидатов. Если конфигурируется множество групп режимов-кандидатов, не являющихся MPM (в данном примере - А и B, режим, в котором выше вероятность предсказания режима предсказания текущего блока в режимах-кандидатах, не являющихся МРМ, принадлежит к А), в группе А сконфигурировано всего 16 кандидатов, и в группе B сконфигурировано всего 45 кандидатов.
[00555] В этом случае группа А содержит кандидатов, классифицируемых по определенным правилам (например, составлена из равноудаленных режимов в направленном режиме), которые не включены в режимы из групп МРМ-кандидатов, или может содержать кандидатов, которые не включены в конечную группу МРМ-кандидатов в соответствии с приоритетом группы МРМ-кандидатов, и т.д. Группа B может быть составлена из кандидатов, не включенных в группу А, в группе МРМ-кандидатов и группе режимов-кандидатов, не являющихся MPM.
[00556] Со ссылкой на изображение a по фиг. 21, текущий блок (CU0 или PU0, в котором размер предполагается равным 2N×N, и соотношение горизонтального/вертикального размеров равно 2:1) может конфигурировать шесть кандидатов как группу кандидатов в порядке l1-t3-планарный-DC-l2-tr-tl-l1*-t3*-l2*-tr*-tl*-вертикальный-горизонтальный-диагональный режим. В приведенном выше примере «*» представляет режим, полученный из режима предсказания каждого блока (например, режим с добавлением +1, -1 и т.д.).
[00557] С другой стороны, со ссылкой на изображение b по фиг. 21, текущий блок (CU1 или PU1, в котором размер равен 2N×N) может конфигурировать шесть кандидатов как группу кандидатов в порядке l3-c7-планарный-DC-bl-k-l1-l3*-c7*-bl*-k*-l1*-вертикальный-горизонтальный-диагональный режим.
[00558] В данном примере, в случае когда применяется настройка (2), представленная на фиг. 18, как изображено на изображении b по фиг. 21, группа кандидатов исключается из группы режимов-кандидатов предсказания верхнего блока в соответствии с порядком l3-планарный-DC-bl-k-l1-c7-l3*-bl*-k*-l1*-вертикальный-горизонтальный-диагональный-c7*, или приоритет снижается, и, таким образом, она может быть включена в группу A.
[00559] Однако отличие от случая, представленного на фиг. 18, заключается в следующем: даже если блок является прямоугольным, этот блок разделяется на элементы кодирования и немедленно задается как блок предсказания без дополнительного разделения. Поэтому, как изображено на фиг. 18, настройка конфигурации группы кандидатов может не являться применимой к данному примеру (например, настройка (2)).
[00560] Однако в случае k на фиг. 21, так как имеется положение, в котором кодирование/декодирование не завершено, оно может быть получено из смежного блока, в котором завершено кодирование/декодирование.
[00561] На фиг. 22 изображены различные примеры настройки групп режимов-кандидатов внутреннего предсказания для блоков, генерирующих информацию о предсказании (блоками кодирования в данном примере являются блоки N×2N).
[00562] Описание будет выполнено на основе следующих предположений. Если данный пример (цветоразностная компонента) содержит пять режимов внутреннего предсказания (в данном примере - режим DC, планарный режим, вертикальный режим, горизонтальный режим и режим копирования цвета), кодирование/декодирование выполняется путем конфигурирования режимов предсказания, которым адаптивно присваиваются приоритеты, как групп кандидатов.
[00563] В этом случае приоритет будет описан на основе предположения о том, что приоритет определяется из смежных блоков (в данном примере - левого, верхнего, верхнего левого, верхнего правого и нижнего левого).
[00564] Со ссылкой на фиг. 13, кандидат первого класса может быть определен в левом блоке L3, верхнем блоке T3, верхнем левом блоке TL, верхнем правом блоке R0 и нижнем левом блоке B0. В этом случае режим, имеющий значение, наиболее часто встречающееся в режимах предсказания блока, может быть определен как кандидат первого класса. Если наиболее часто встречающиеся значения имеет множество режимов, придается предварительно заданный приоритет (например, режим копирования цвета-планарный-вертикальный-горизонтальный-DC).
[00565] Данный пример можно считать аналогичным настройке МРМ-кандидатов (в данном примере первый бит определяется как равный 0 или 1; если первый бит равен 1, необходимо добавить 2 бита; первый бит может выполнять обходное кодирование или традиционное кодирование в соответствии с настройками кодирования/декодирования, а остальные биты могут выполнять обходное кодирование) в отношении получения режима (режим представляет собой режим, оцениваемый как режим предсказания текущего блока) из смежных блоков и, таким образом, определения приоритета (то есть определения количества присвоенных битов; например, в случае первого класса он равен «0»; в случае классов от второго до четвертого они равны «100», «101», «110» и «111») и в отношении предсказания режима предсказания.
[00566] Со ссылкой на изображение a по фиг. 22, текущий блок (CU0 или PU0, в котором размер предполагается равным N×2N, и соотношение горизонтального/вертикального размеров равно 1:2) может определять кандидатов первого класса в блоках l3, t1, t1, t2 и b1.
[00567] С другой стороны, со ссылкой на изображение b по фиг. 22, текущий блок (CU1 или PU1, в котором размер равен N×2N) может определять кандидата первого класса в блоках c13, t3, t1, tr и k.
[00568] В данном примере, если применима такая же настройка, как (2), представленная на фиг. 19, текущий блок CU1 может определять кандидата первого класса в блоках t3, t1, tr и k. Кроме того, если блок, соответствующий текущему блоку в других цветовых пространствах, в которых получается режим копирования цвета, не сконфигурирован как один блок, приоритет режима копирования цвета сдвигается назад (понижается) в предварительно заданном приоритете так, что приоритет изменяется до планарный-вертикальный-горизонтальный-DC-режим копирования цвета и т.д. Как описано выше, этот пример может иметь место на основе следующих предположений. Данный пример отличается от примера, в котором классификация выполняется в соответствии с тем, является ли текущий блок таким же, как порождающий блок смежного блока, с режимом разделения или т.п., однако, если конфигурируется множество соответствующих блоков разных цветовых пространств, имеется более высокая вероятность характеристик, отличных от текущего блока. То есть это следует понимать как пример адаптивно определяющих настроек кодирования/декодирования в соответствии с взаимосвязью между блоками.
[00569] Однако отличие от случая, представленного на фиг. 19, заключается в следующем: даже если блок является прямоугольным, этот блок разделяется на элементы кодирования и соответствует случаю немедленной настройки как блока предсказания без дополнительного разделения. Поэтому, как изображено на фиг. 19, настройка конфигурации группы кандидатов может не являться применимой в данном примере.
[00570] Однако в случае k на фиг. 22, так как имеется положение, в котором кодирование/декодирование не завершено, оно может быть получено из смежного блока, в котором завершено кодирование/декодирование.
[00571] Для простоты описания, приведенные выше примеры были описаны на основе некоторых предположений, но без ограничения, и такие же или аналогичные применения возможны в различных вышеописанных вариантах осуществления настоящего изобретения.
[00572] В вариантах осуществления, представленных на фиг. 21 и 22, предполагается, что блоки M×N (M≠N), которые могут быть разделены при помощи разделения на основе двоичного дерева, появляются последовательно.
[00573] В приведенном выше случае может возникать случай, описанный на фиг. 14-16 (пример настройки группы кандидатов путем определения взаимосвязи между текущим блоком и смежным блоком и т.д.). То есть на фиг. 21 и 21 смежные блоки до разделения CU0 и CU1 идентичны друг другу, и CU0 и CU1 могут быть получены путем горизонтального разделения или вертикального разделения при разделении на основе двоичного дерева.
[00574] Кроме того, в вариантах осуществления, представленных на фиг. 18 и 19, предполагается, что после разделения блока кодирования в блоке кодирования имеется множество прямоугольных блоков предсказания.
[00575] В приведенном выше случае также может возникать случай, описанный на фиг. 14-16. Тогда возникает противоречие с примерами, представленными на фиг. 18 и 19. Например, на фиг. 18 в случае PU1 может быть определено, использовать ли информацию PU0, и на фиг. 14-16 информация PU0 не используется, так как характеристики PU1 отличаются от таковых у PU0.
[00576] Что касается приведенного выше содержимого, группа кандидатов может быть сконфигурирована без противоречия в соответствии с настройкой исходной стадии кодирования/декодирования. Группа кандидатов предсказаний информации о движении может быть задана в соответствии с различными другими настройками кодирования/декодирования.
[00577] Случай настройки группы режимов-кандидатов предсказания описан в приведенном выше примере. Кроме того, он может быть задан для ограничения использования опорных пикселей с целью предсказания текущего блока из смежных блоков, помеченных исключительными состояниями.
[00578] Например, если блок предсказания генерируется путем отличения первого опорного пикселя от второго опорного пикселя в соответствии с вариантом осуществления настоящего изобретения, в случае если второй опорный пиксель включен в блок, помеченный как исключительное состояние, генерирование блока предсказания с использованием второго опорного пикселя может быть ограничено. То есть блок предсказания может генерироваться с использованием только первого опорного пикселя.
[00579] Коротко говоря, приведенный выше пример можно рассматривать как элемент в настройках кодирования/декодирования, относящийся к использованию второго опорного пикселя.
[00580] В настоящем документе будут описаны различные случаи в отношении настроек группы режимов-кандидатов внутреннего предсказания.
[00581] В этом примере предполагается, что имеется 67 режимов внутреннего предсказания, сконфигурированных как 65 направленных режимов и 2 ненаправленных режима, а именно планарный режим и режим DC. Однако он ими не ограничен, и могут быть заданы другие режимы внутреннего предсказания. В данном примере предполагается, что в группу МРМ-кандидатов включены шесть кандидатов. Однако он этим не ограничен, и группа МРМ-кандидатов может также быть сконфигурирована четырьмя, пятью или семью кандидатами. Кроме того, имеется настройка, в которой перекрывающийся режим в группе кандидатов отсутствует. Кроме того, приоритет относится к порядку определения включения в группу МРМ-кандидатов, но может рассматриваться как элемент для определения преобразования в двоичную форму, настроек энтропийного кодирования/декодирования и т.д. для каждого кандидата, принадлежащего к группе МРМ-кандидатов. Следующий пример будет описан путем центрирования на компоненте яркости, однако такие же, или аналогичные, или модифицированные применения также могут выполняться для цветоразностной компоненты.
[00582] Режимы, включенные в группу режимов-кандидатов внутреннего предсказания (например, группу МРМ-кандидатов и т.д.) согласно настоящему изобретению могут быть сконфигурированы как режимы предсказания пространственно смежных блоков, предварительно заданные режимы предсказания, режимы предсказания, производные от режимов предсказания, включенных в кандидаты, и т.д. В этом случае может быть определено правило (например, приоритет и т.д.) для конфигурирования группы кандидатов в соответствии с настройками кодирования/декодирования.
[00583] В следующих примерах описаны случаи, относящиеся к фиксированным конфигурациям группы кандидатов.
[00584] В качестве примера (1), может поддерживаться фиксированный приоритет для конфигурирования группы режимов-кандидатов внутреннего предсказания (в данном примере - группы МРМ-кандидатов). Например, может поддерживаться предварительно заданный приоритет. Например, если режимы предсказания пространственно смежных блоков добавляются в группу кандидатов, предварительно заданный приоритет представляет собой порядок левый блок (L3 на фиг. 13)-верхний блок (T3 на фиг. 13)-нижний левый блок (B0 на фиг. 13)-верхний правый блок (R0 на фиг. 13)-верхний левый блок (TL на фиг. 13). Если предварительно заданный режим предсказания добавляется в группу кандидатов, предварительно заданный приоритет представляет собой порядок планарный-DC-вертикальный-горизонтальный-диагональный режим. Кроме того, может иметь место комбинированная конфигурация приведенного выше примера, такая как порядок левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок. Если количество кандидатов не может быть достигнуто даже при исполнении кандидатов в соответствии с приоритетом, следующий приоритет может иметь режим, производный от режима предсказания, который был включен (например, +1 и -1 режима левого блока, +1 и -1 режима верхнего блока и т.д.), вертикальный режим, горизонтальный режим, диагональный режим и т.д.
[00585] В приведенном выше примере, если режимы предсказания пространственно смежных блоков добавляются в группу кандидатов, режимы кандидатов имеют приоритеты левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок, и режимы предсказания левого блока (L3 на фиг. 12) последовательно включаются в группу кандидатов, в то же время, если соответствующие модули не существуют, в группу кандидатов как следующий приоритет включается режим предсказания верхнего блока (T3 на фиг. 13). Таким образом, режим предсказания включается в группу кандидатов в некотором порядке, и, если режим предсказания соответствующего блока недоступен или перекрывается с включенным режимом, порядок переходит к следующем блоку.
[00586] В качестве другого примера, если режимы предсказания пространственно смежных блоков добавляются в группу кандидатов, группа кандидатов может быть сконфигурирована в порядке левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок. В этом случае режим предсказания левого блока в первую очередь учитывает режим предсказания блока, расположенного в L3, но если там имеется недоступный или перекрывающийся режим, режимы-кандидаты предсказания левого блока заполняются в порядке следующих подблоков левого блока L2, L1 и L0. Подобным образом, такие же или аналогичные настройки применимы к верхнему блоку (T3-T2-T1-T0), нижнему левому блоку (B0-B1-B2-B3), верхнему правому блоку (R0-R1-R2-R3) и верхнему левому блоку (TL). Например, если режимы предсказания блоков нельзя добавить в группу кандидатов, даже в случае выполнения в порядке L3-L2-L1-L0, может быть выполнен следующий последовательный блок.
[00587] В следующих примерах описаны случаи адаптивных конфигураций группы кандидатов. Адаптивная конфигурация группы кандидатов может быть определена в соответствии с состоянием текущего блока (например, размером и формой блока), состоянием смежного блока (например, размером и формой блока, режимом предсказания и т.д.) или взаимосвязью между текущим блоком и смежным блоком.
[00588] В качестве примера (3), может поддерживаться адаптивный приоритет для конфигурирования группы режимов-кандидатов внутреннего предсказания (в данном примере - группы МРМ-кандидатов). Приоритет может быть задан в соответствии с частотой. То есть чаще появляющиеся режимы предсказания могут иметь высокий приоритет, тогда как режимы предсказания, встречающиеся с меньшей частотой, могут иметь низкий приоритет.
[00589] Например, приоритет может быть задан в соответствии с частотой режимов предсказания пространственно смежных блоков.
[00590] Может поддерживаться предварительно заданный приоритет для случая одинаковой частоты. Например, предполагая, что режимами, появляющимися дважды в левом блоке, верхнем блоке, нижнем левом блоке, верхнем правом блоке и верхнем левом блоке, соответственно (в предположении, что для каждого блока получается один режим предсказания), являются режим 6 и режим 31, и режимом a, появляющимся однократно, является режим 14, в данном примере (в предположении, что режимом a, появляющимся в предыдущем последовательном блоке в порядке левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок, является режим 6) в качестве первого кандидата и второго кандидата включаются режим 6 и режим 31.
[00591] Планарный режим и режим DC включены как третий и четвертый кандидаты, и режим 14, имеющий режим предсказания с частотой 1, включен как пятый кандидат. Тогда режиму 5 и режиму 7, производным от первого кандидата и второго кандидата, и режимам 30 и 32 может быть задан следующий приоритет. Кроме того, режиму 13 и режиму 15, производным от пятого кандидата, задан следующий приоритет, и тогда следующий приоритет могут иметь вертикальный режим, горизонтальный режим и диагональный режим.
[00592] То есть режиму предсказания, имеющему частоту 2 или более, присваивается приоритет перед планарным режимом и режимом DC, и режиму предсказания, имеющему частоту 1, может быть присвоен приоритет после планарного режима и режима DC, например, низкий приоритет имеют производный режим, предварительно заданный режим и т.д вышеописанного примера.
[00593] Коротко говоря, предварительно заданный приоритет (например, порядок левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок) может представлять собой приоритет, заданный с учетом статистических характеристик изображения в целом, и адаптивный приоритет (в данном примере - случай, в котором он включается в группу кандидатов в соответствии с частотой) может представлять собой пример выполнения частичной модификации предварительно заданного приоритета с учетом некоторых характерных признаков изображения (в данном примере - режим, появляющийся с частотой два или более, задается перед фиксированными планарным режимом и режимом DC, и режим, появляющийся с частотой один, задается после фиксированных планарного режима и режима DC).
[00594] Кроме того, в соответствии с частотой может быть определен не только приоритет в отношении конфигурации группы кандидатов, но на основе частоты также могут быть определены настройки преобразования в двоичную форму и энтропийного кодирования/декодирования для каждого кандидата, принадлежащего к группе МРМ-кандидатов. В качестве примера, на основе частоты может быть определено преобразование в двоичную форму МРМ-кандидатов, имеющих m частот. Альтернативно в соответствии с частотой может быть адаптивно определена контекстная информация о кандидатах. То есть в данном примере может использоваться контекстная информация, задающая вероятность выбора режима как высокую. То есть, когда m равняется 1-4 (в данном примере ненаправленный режим включен в 2 из всего 6 кандидатов, и, таким образом, максимальное значение частоты равно 4), контекстная информация может быть задана по-разному.
[00595] Если 0 в 0 и 1 двоичного индекса (индекс Bin; порядок битов, когда более одного бита сконфигурировано в соответствии с преобразованием в двоичную форму; например, если некоторый MPM-кандидат сконфигурирован как «010», числами от первого двоичного числа до третьего двоичного числа могут являться 0, 1 и 0) представляет собой двоичное число, указывающее, что кандидат выбран как MPM (двоичное число используется для определения того, является ли МРМ конечным, или для распознавания конечного МРМ необходимо подтвердить дополнительное двоичное число; то есть в приведенном выше «010», если первое двоичное число равно 0, необходимо подтвердить второе двоичное число и третье двоичное число, и может быть подтверждено, является ли режим конечным МРМ; если имеется одно двоичное число, немедленно подтверждается, является ли МРМ конечным, в соответствии со значениями 0 и 1 двоичного числа), и 1 представляет собой двоичное число, указывающее, что кандидат не выбран как МРМ, применяется контекстная информация с высокой вероятностью появления 0 (то есть при выполнении двоичной арифметики вероятность появления 0 может быть приравнена к 90%, вероятность появления 1 может быть приравнена к 10%, и предполагается, что базовый случай таков, что вероятности появления 0 и 1 составляют 60% и 40%), так что может быть применено CABAC.
[00596] В качестве примера (4), может поддерживаться адаптивный приоритет для конфигурирования группы режимов-кандидатов внутреннего предсказания (в данном примере - группы МРМ-кандидатов). Например, приоритет может быть задан в соответствии с направленностью режимов предсказания пространственно смежных блоков.
[00597] В этом случае категориями направленности являются: группа режимов в направлении верхнего правого угла (2-17 на фиг. 9), группа горизонтального режима (18 на фиг. 9), группа режимов в направлении нижнего правого угла (19-49 на фиг. 9), группа вертикального режима (50 на фиг. 9), группа режимов в направлении нижнего левого угла (51-66 на фиг. 9) и группа ненаправленных режимов (планарный режим или режим DC). Альтернативно, их можно разделить на группу горизонтально направленных режимов (режимы 2-34 на фиг. 9), группу вертикально направленных режимов (режимы 35-66 на фиг. 9) и группу ненаправленных режимов (планарный режим или режим DC), а также возможны различные примеры конфигурации.
[00598] Например, если приоритет базовой группы кандидатов представляет собой порядок верхний левый блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, то группа кандидатов может быть сконфигурирована в приведенном выше порядке. Однако после конфигурирования групп кандидатов приоритеты для настроек преобразования в двоичную форму и энтропийного кодирования/декодирования для каждого кандидата могут быть определены на основе категории. В качестве примера, преобразование в двоичную форму с присвоением меньшего количества битов может быть выполнено для категорий в группе МРМ-кандидатов, содержащих большое количество кандидатов. Альтернативно в соответствии с категорией может быть адаптивно определена контекстная информация. То есть контекстная информация может быть определена в соответствии с количеством режимов, включенных в каждую категорию (например, если первая категория - m, и вторая категория - n, контекстная информация определяется в соответствии с комбинацией m и n).
[00599] В качестве примера (5), адаптивный приоритет может поддерживаться в соответствии с размером и формой текущего блока. Например, приоритет может быть определен в соответствии с размером блока, и приоритет может быть определен в соответствии с формой блока.
[00600] Если размер блока составляет 32×32 или более, он может быть включен в группу кандидатов в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, а если размер блока меньше 32×32, он может быть включен в группу кандидатов в порядке левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок-планарный блок-блок DC.
[00601] Альтернативно, если блок является квадратным, он может быть включен в группу кандидатов в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, если блок является прямоугольным (удлиненным по горизонтали), он может быть включен в группу кандидатов в порядке верхний блок-верхний правый блок-верхний левый блок-планарный блок-блок DC-левый блок-нижний левый блок, и, если блок является прямоугольным (удлиненным по вертикали), он может быть включен в группу кандидатов в порядке левый блок-нижний левый блок-верхний левый блок-планарный блок-блок DC-верхний правый блок. Данный пример можно понимать как случай, в котором блоки, смежные с более длинными блоками, имеют высший порядок.
[00602] В качестве примера (6), адаптивный приоритет может поддерживаться в соответствии с взаимосвязью между текущим блоком и смежными блоками.
[00603] Со ссылкой на изображение a на фиг. 23 изображен пример генерирования блока предсказания в соответствии с режимом предсказания смежного блока (в данном примере - подблока левого блока).
[00604] Если режимом предсказания (использованным, для простоты описания, только со ссылкой на направленное содержимое) левого блока (в данном примере - верхнего подблока левого блока) является направленный режим, существующий среди режимов 51-66 на фиг. 9 (режим с наклоном вправо в вертикальном режиме), и, если генерируется блок предсказания левого блока, то ссылка соответствует диагональной части (части TL или T) на фигуре. Правая область левого блока может по существу представлять собой область, имеющую высокую корреляцию с левой областью левого блока, однако, поскольку кодирование/декодирование к настоящему моменту не выполнено, блок предсказания может генерироваться при помощи опорных пикселей нижней области Т, где кодирование/декодирование было завершено.
[00605] Даже если предсказание выполняется из части нижней области блока Т, как описано выше, конечный режим предсказания определяется как режим, существующий среди режимов 51-66, и это означает, что некоторые области 2400 текущего блока также имеют такую же или на аналогичную направленность (или края и т.д.), как вышеуказанный режим предсказания.
[00606] То есть это может означать, что вероятность выбора режима предсказания левого блока как режима предсказания текущего блока является высокой. Альтернативно это может означать, что более высокой является вероятность выбора режимов 51-66.
[00607] Со ссылкой на изображение b на фиг. 23, когда соответствующее описание выводится из приведенного выше примера, когда режимы предсказания верхнего блока существуют в режимах 2-17 на фиг. 9 (режим с наклоном вниз в горизонтальном режиме), это может означать, что некоторые области текущего блока также имеют такую же направленность, как соответствующие режимы предсказания.
[00608] То есть это может означать, что вероятность выбора режима предсказания верхнего блока как режима предсказания текущего блока является более высокой. Альтернативно это может означать, что более высокой является вероятность выбора режимов 2-17.
[00609] Как описано выше, если возможно определить режим предсказания текущего блока посредством режимов предсказания смежных блоков, приоритет может определяться адаптивно.
[00610] Например, если базовая группа кандидатов сконфигурирована с приоритетом в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, приоритет не изменяется в случае, идентичном изображению a на фиг. 23, и может изменяться в порядке верхний блок-левый блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок в случае b на фиг. 23.
[00611] Альтернативно для случая a на фиг. 23 может иметь место порядок левый блок-(левый+1) блок-(левый-1) блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-нижний левый блок, а для случая b на фиг. 23 он может изменяться в порядке верхний блок-(верхний-1) блок-(верхний+1) блок-левый блок-планарный блок-блок DC-нижний левый блок-верхний правый-нижний левый блок.
[00612] Со ссылкой на изображение a на фиг. 24 изображен пример генерирования блока предсказания в соответствии с режимом предсказания смежного блока (в данном примере - левого блока).
[00613] В случае если режимом предсказания левого блока является режим, имеющий направленность, существующую среди режимов 51-66 на фиг. 9, относящиеся к нему пиксели для генерирования блока предсказания левого блока соответствуют диагональным частям TL и T на фигуре. Правая область левого блока может представлять собой область, имеющую высокую корреляцию с левой областью левого блока, однако, поскольку кодирование/декодирование к настоящему моменту не выполнено, блок предсказания может генерироваться при помощи опорных пикселей нижней области блока Т, где кодирование/декодирование было завершено.
[00614] Даже если предсказание выполняется из нижней области блока Т, как описано выше, конечный режим предсказания определяется как режим, существующий среди режимов 51-66, и это означает, что некоторые области текущего блока также имеют такую же или на аналогичную направленность (или края и т.д.), как вышеуказанный режим предсказания.
[00615] То есть это может означать, что вероятность выбора режима предсказания левого блока является высокой. Альтернативно это может означать, что высокой является вероятность выбора режимов 51-66.
[00616] Со ссылкой на изображение b на фиг. 24, когда соответствующее описание выводится из приведенного выше примера, когда режимы предсказания верхнего блока существуют в режимах 2-17 на фиг. 9, это может означать, что некоторые области текущего блока также имеют такую же направленность, как соответствующие режимы предсказания.
[00617] То есть это может означать, что вероятность выбора режима предсказания верхнего блока как режима предсказания текущего блока является высокой. Альтернативно это может означать, что высокой является вероятность выбора режимов 2-17.
[00618] Как описано выше, если возможно определить режим предсказания текущего блока посредством режимов предсказания смежных блоков, приоритет может определяться адаптивно.
[00619] Например, если базовая группа кандидатов сконфигурирована с приоритетом в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, приоритет не изменяется для случая a на фиг. 24 и может изменяться в порядке верхний блок-левый блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок для случая b на фиг. 23. В этом случае, как и в случае a на фиг. 24, приоритет является таким же, как ранее, но взамен могут адаптивно определяться настройки преобразования в двоичную форму и энтропийного кодирования/декодирования для режимов-кандидатов предсказания левого блока в группе МРМ-кандидатов. В качестве примера, может быть определено преобразование в двоичную форму (с присвоением более коротких битов) режимов-кандидатов предсказания для левого блока. Альтернативно может быть адаптивно определена контекстная информация. То есть в данном примере может использоваться контекстная информация, задающая вероятность выбора кандидата как высокую.
[00620] Если 0 в 0 и 1 некоторого двоичного индекса представляет собой двоичное число, указывающее, что кандидат выбран как МРМ (в случае определения, является ли он конечным МРМ, с помощью одного двоичного числа или подтверждения дополнительного двоичного числа с целью распознавания конечного МРМ), и 1 представляет собой двоичное число, указывающее, что кандидат не выбран как МРМ, CABAC может быть применено путем применения контекстной информации о том, что вероятность появления 0 является высокой.
[00621] Альтернативно для случая a на фиг. 24 может иметь место порядок левый блок-(левый+1) блок-(левый-1) блок-(левый+2) блок-(левый-2) блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-нижний левый блок, а для случая b на фиг. 24 он может изменяться в порядке верхний блок-(верхний-1) блок-(верхний+1) блок-(верхний-2) блок-(верхний+2) блок-левый блок-планарный блок-блок DC-нижний левый блок-верхний правый-нижний левый блок.
[00622] Со ссылкой на изображение a на фиг. 25 изображен пример генерирования блока предсказания в соответствии с режимом предсказания смежного блока (в данном примере - левого блока).
[00623] Рассматривается случай, в котором режимы предсказания левого блока и нижнего левого блока имеют направленность, существующую среди режимов 51-66 на фиг. 9. Левый блок и нижний левый блок могут принадлежать или не принадлежать к одному блоку. В данном примере для простоты описания предполагается, что левый блок и нижний левый блок принадлежат к одному блоку (т.е. к одному режиму), для которого было завершено разделение.
[00624] Пиксели, упоминаемые при генерировании блока предсказания (левого+нижнего левого) блоков, соответствуют диагональным частям TL, T и TR на фигуре. Даже если предсказание выполняется из нижней области блока Т и блока TR, как описано в приведенном выше примере, конечный режим предсказания определяется как режим, существующий среди режимов 51-66, и это означает, что вся область текущего блока также имеет такую же или аналогичную направленность, как вышеуказанный режим предсказания.
[00625] То есть это может означать, что вероятность выбора режима предсказания левого блока или нижнего левого блока (в данном примере режимы предсказания этих двух блоков являются одинаковыми) как режима предсказания текущего блока является (очень) высокой. Альтернативно это может означать, что высокой является вероятность выбора режимов 51-66 (в данном примере режимы предсказания двух блоков различны).
[00626] На изображении b по фиг. 25, если режимы предсказания (верхнего + верхнего правого) блоков существуют среди режимов 2-17 на фиг. 9, это может означать, что вся область текущего блока также имеет такую же направленность, как соответствующие режимы предсказания.
[00627] То есть это может означать, что вероятность выбора режима предсказания верхнего блока или верхнего правого блока (в данном примере режимы предсказания этих двух блоков являются одинаковыми) как режима предсказания текущего блока является (очень) высокой. Альтернативно это может означать, что высокой является вероятность выбора режимов 2-17 (в данном примере режимы предсказания двух блоков различны).
[00628] Как описано выше, если возможно определить режим предсказания текущего блока посредством режимов предсказания смежных блоков, приоритет может определяться адаптивно.
[00629] Например, если базовая группа кандидатов сконфигурирована с приоритетом в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, он может изменяться в порядке левый блок-нижний левый блок-планарный блок-блок DC-верхний блок-верхний правый блок-верхний левый блок для случая a на фиг. 25. Приоритет может изменяться в порядке верхний блок-верхний правый блок-планарный блок-блок DC-левый блок-нижний левый блок-верхний левый блок для случая b на фиг. 25. То есть может быть выдвинут вперед приоритет связанного блока.
[00630] Альтернативно для случая a на фиг. 25 приоритет может изменяться в порядке левый блок-нижний левый блок-(левый+1) блок-(левый-1) блок-(нижний левый+1) блок-(нижний левый-1) блок-планарный блок-блок DC-верхний блок-верхний правый блок-верхний левый блок, а для случая b на фиг. 25 приоритет может изменяться в порядке верхний блок-верхний правый блок-(верхний-1) блок-(верхний+1) блок-(верхний правый-1) блок-(верхний правый+1) блок-планарный блок-блок DC-нижний левый блок-верхний левый блок.
[00631] Кроме того, в случае фиг. 25 на основе категории, описанной в четвертом примере, может определяться настройка преобразования в двоичную форму и энтропийного кодирования/декодирования каждого кандидата, принадлежащего к группе МРМ-кандидатов. В качестве примера, может быть определено преобразование в двоичную форму (т.е. присвоение более коротких битов) для МРМ-кандидатов (режимы a и b по фиг. 24). Альтернативно в соответствии с категорией может адаптивно определяться контекстная информация. То есть в данном примере может использоваться контекстная информация настройки высокой вероятности появления категории, к которой принадлежит данный режим (режимы a и b по фиг. 25).
[00632] Если 0 в 0 и 1 некоторого двоичного индекса представляет собой двоичное число, указывающее, что как МРМ выбран режим, принадлежащий к категории, отличной от вышеописанной категории, и 1 представляет собой двоичное число, указывающее, что как МРМ выбран режим, принадлежащий к указанной категории, CABAC может быть применено путем применения контекстной информации, указывающей высокую вероятность появления 1.
[00633] Для подтверждения вышеописанного содержимого необходимо подтвердить, сконфигурирован ли блок, расположенный в предварительно определенном направлении (левый, верхний, верхний левый, верхний правый и нижний левый), как единый (т.е. неразделенный) блок. Поэтому, если блок сконфигурирован как единый блок, то выполняется случай с режимом предсказания этого блока, а если он сконфигурирован как блок разделения, то для выполнения этого случая подтверждаются часть или все из режимов предсказания каждого блока. Однако сложность данного случая может являться значительно повышенной.
[00634] С этой целью данный процесс может быть сконфигурирован просто. Предполагается, что диапазон текущего блока представляет собой (a, b) - (a+M-1, b+N-1). Левый блок содержит пиксели, центрированные на текущем блоке и принадлежащие диапазону (a-1, b) - (a-1, b+N-1). Направленность режима предсказания левого блока может быть определена путем подтверждения режимов предсказания некоторых, но не всех, пикселей.
[00635] Например, направленность блока предсказания определяется с использованием режима предсказания координат верхней правой (на основе текущего блока - верхней левой) стороны левого блока (a-1, b) и режима предсказания координат нижней правой (на основе текущего блока - нижней левой) стороны левого блока (a-1, b+N-1). В этом случае левый блок может быть сконфигурирован как единый блок и может быть сконфигурирован как блок разделения. Даже если он представляет собой единый блок или блок разделения, режимы предсказания, включающие координаты, могут являться одинаковыми. Однако даже если режимы предсказания не являются одинаковыми, если они представляют собой режимы предсказания, принадлежащими к режимам 51-66 на фиг. 9, как описано с помощью изображения a на фиг. 24, режиму предсказания, кодированию этих режимов предсказания может быть присвоен высокий приоритет.
[00636] В приведенном выше примере предполагается случай левого блока, однако другие направления применимы аналогично. В дополнение к левому блоку, для подтверждения режима предсказания нижнего левого блока возможно подтвердить режим предсказания, принадлежащий к координатам нижнего левого блока, например, (a-1, b+N).
[00637] Коротко говоря, это может быть использовано для ссылки при конфигурации группы режимов-кандидатов внутреннего предсказания путем подтверждения режимов предсказания в отношении некоторых координат блока, расположенного в предварительно определенном направлении, и подтверждения режимов предсказания или направленности режимов предсказания в данном направлении. В этом случае количество координат может представлять собой целое число, равное 1 или более, например, 1, 2 и 3.
[00638] Подводя итог, если подтвержден режим, для которого определена высокая корреляция с текущим блоком, этому режиму может быть присвоен высокий приоритет в группе кандидатов. Альтернативно высокий приоритет в группе кандидатов может быть присвоен режимам предсказания, полученным на основе данного режима (например, смежным режимам предсказания, таким как +1 или -1). То есть данный режим может приоритизировать все или часть из режима предсказания или предварительно заданных режимов предсказания (режим DC, планарный режим, горизонтальный режим, вертикальный режим, диагональный режим и т.д.) других пространственно смежных блоков.
[00639] В отличие от случая, описанного в приведенном выше примере, если нельзя определить, имеется ли высокая корреляция с текущим блоком, может быть сконфигурирована заданная на базовом уровне группа кандидатов. То есть с учетом способа конфигурации группы кандидатов процесса с высокой корреляцией, одно из множества способов конфигурации группы режимов-кандидатов предсказания или сконфигурированных групп кандидатов может быть выбрано на основе информации о состоянии (размере, форме, положении блока, режиме предсказания и т.д.) смежных блоков.
[00640] На фиг. 26 представлена принципиальная схема взаимосвязи между текущим блоком и смежным блоком.
[00641] На изображении a по фиг. 26 изображен порядок кодирования в соответствии с блоком разделения.
[00642] При выполнении разделения на основе четверичного дерева, кодирование выполняется в порядке верхний левый блок (0)-верхний правый блок (1)-нижний левый блок (2)-нижний правый блок (3). Если в подблоках дополнительно выполняется разделение на основе четверичного дерева (глубина 1), кодирование выполняется в приведенном выше порядке в каждом подблоке (глубина 2), и кодирование выполняется перед информацией о глубине. Для верхнего левого блока, разделенного при глубине 1, имеется порядок верхний левый блок (0-0)-верхний правый блок (0-1)-нижний левый блок (0-2)-нижний правый блок (0-3) при глубине 2. Для нижнего правого блока, разделенного при глубине 1, имеется порядок верхний левый блок (3-0), верхний правый блок (3-1), нижний левый блок (3-2) и нижний правый блок (3-3) при глубине 2. То есть кодирование выполняется в порядке x-y-z, представленном посредством информации о глубине.
[00643] При выполнении разделения на основе двоичного дерева кодирование выполняется в порядке левый блок (0)-правый блок (1), или верхний блок (0)-нижний блок (1) - в случае горизонтального разделения. Если в подблоках дополнительно выполняется разделение на основе двоичного дерева (глубина 1), кодирование выполняется в приведенном выше порядке в каждом подблоке (глубина 2), и кодирование выполняется перед информацией о глубине.
[00644] На изображении a по фиг. 26, в случае когда блок 3 является таким же, как на изображении a на фиг. 25, и блок 16 является таким же, как на изображении a на фиг. 23, блок 20 соответствует такому же случаю, как на изображении a на фиг. 24.
[00645] Например, блок 3 представляет собой случай, в котором левый блок сконфигурирован как один блок без разделения из нижнего левого блока и имеет режим предсказания (один режим) в конкретном направлении или имеет режимы предсказания (более одного режима) в конкретном направлении, даже если левый блок отделен от нижнего левого блока.
[00646] Блок 16 представляет собой случай, в котором левый блок сконфигурирован как множество блоков после разделения, и по меньшей мере часть подблоков имеет режим предсказания (один режим) в конкретном направлении.
[00647] Блок 20 представляет собой случай, в котором левый блок сконфигурирован как один блок и имеет режим предсказания (один режим) в конкретном направлении, или левый блок сконфигурирован как множество подблоков после разделения, и все подблоки имеют режимы предсказания (более одного режима) в конкретном направлении.
[00648] Пример взаимосвязи между текущим блоком и смежным блоком изображен с помощью изображения b на фиг. 26. Если эта взаимосвязь определена так, как на изображении b по фиг. 26, она может быть учтена при конфигурации группы режимов-кандидатов предсказания.
[00649] При помощи приведенных выше примеров проверены некоторые примеры взаимосвязи между текущим блоком и смежным блоком, однако возможны и другие различные случаи, и конфигурация группы режимов-кандидатов внутреннего предсказания может быть задана с учетом конкретного случая.
[00650] Кроме того, в приведенных выше примерах проверены различные случаи в отношении конфигурации группы режимов-кандидатов внутреннего предсказания. Может иметь место конфигурация группы кандидатов для применения одной из настроек, описанных в каждом варианте осуществления, при этом настройки, описанные в каждом варианте осуществления, могут применяться одинаково или аналогично в других вариантах осуществления, и для конфигурирования группы кандидатов может быть применено множество настроек. Кроме того, конфигурация группы кандидатов может быть создана путем комбинирования приведенных выше примеров с дополнительными настройками.
[00651] В данном примере, в предположении примера, в котором группа режимов-кандидатов, не являющихся MPM, сконфигурирована как множество групп кандидатов (группа А и группа B), режим предсказания группы МРМ-кандидатов не выбран, и кодирование/декодирование выполняется с использованием группы режимов-кандидатов (группы А), в которой следующий из режимов предсказания группы режимов-кандидатов, не являющихся MPM, оценивается как режим предсказания текущего блока.
[00652] В данном примере предполагается, что в группу А кандидатов включены 16 кандидатов, и в группу B кандидатов включены 45 кандидатов.
[00653] При настройке в отношении конфигурации группы А кандидатов могут использоваться различные способы, и режим предсказания, не включенный в соответствии с приоритетом группы МРМ-кандидатов, может быть включен в группу А кандидатов.
[00654] Альтернативно, группа А кандидатов может быть сконфигурирована в соответствии с предварительно заданной категорией независимо от приведенного выше примера. Например, на фиг. 9 в группе кандидатов могут быть сконфигурированы режимы предсказания с некоторыми интервалами. То есть в группу А могут быть включены блоки 2, 6, 10, 14, 18 и т.д. на фиг. 8. В данном случае, для группы B, в группу B могут быть включены блоки 3, 4, 5, 7, 8, 9, 11 и т.д. Разумеется, из данной настройки исключены режимы, включенные в группу МРМ-кандидатов.
[00655] Настоящее изобретение не ограничено приведенными выше примерами, и также возможны различные модификации и другие настройки.
[00656] Коротко говоря, в первую очередь конфигурируется группа МРМ-кандидатов, а затем конфигурируется группа А кандидатов. Кроме того, остальные режимы предсказания могут быть сконфигурированы как группа B кандидатов.
[00657] Для режима из группы МРМ-кандидатов может использоваться усеченное унарное преобразование в двоичную форму, для режима из группы А кандидатов может использоваться преобразование в двоичную форму с фиксированной длиной, и для режима из группы B кандидатов может использоваться усеченное унарное преобразование в двоичную форму, хотя могут использоваться и различные другие способы преобразования в двоичную форму.
[00658] Режим из группы МРМ-кандидатов может выполнять кодирование/декодирование в отношении всех или части двоичных чисел при помощи секции традиционного кодирования, и режим, представляющий собой режим-кандидат, не являющийся МРМ, может выполнять кодирование/декодирование в отношении всех двоичных чисел при помощи секции обходного кодирования. Альтернативно режим из группы А кандидатов в группе режимов-кандидатов, не являющихся MPM, может выполнять кодирование/декодирование в отношении части двоичных чисел при помощи секции традиционного кодирования, но он этим не ограничен, и могут использоваться различные случаи.
[00659] Выше приведено описание базовых настроек, и в настоящем описании может иметь место множество преобразованных вариантов осуществления.
[00660] Ниже будет описан случай, в котором блок предсказания генерируется с использованием множества опорных пикселей.
[00661] На фиг. 27 изображен пример генерирования блока предсказания с использованием множества слоев опорных пикселей.
[00662] Как значение предсказания х пикселей текущего блока может быть использовано значение пикселя, генерируемое путем применения взвешенного среднего к а из ref_1 и b из ref_2.
[00663] Генерирование блока предсказания с использованием множества слоев опорных пикселей иногда приводит к лучшим результатам предсказания. То есть это означает, что при генерировании значений предсказания пикселей текущего блока множество пикселей может приводить к более точным результатам предсказания.
[00664] Однако re1_1 и ref_2 могут быть применены в случае, когда текущий блок имеет высокую корреляцию с краевым направлением или т.п., и в некоторых случаях использование множества слоев опорных пикселей может приводить к худшим результатам предсказания. Например, если текущий блок имеет высокую корреляцию в вертикальном направлении, и если верхний блок имеет высокую корреляцию в диагональном направлении, использование множества слоев опорных пикселей не может привести к достижению хорошего эффекта.
[00665] В этом случае предпочтительным является определение в явном виде того, следует использовать существующий слой опорных пикселей или использовать множество слоев опорных пикселей.
[00666] Альтернативно использование множества слоев опорных пикселей для генерирования блока предсказания путем подтверждения того, имеется ли высокая корреляция между слоями опорных пикселей, может быть определено в неявном виде.
[00667] В приведенном выше примере изображено, что при внутреннем предсказании разделение выполняется в элементах предварительно определенных подблоков, и выполняются предсказание и преобразование на основе подблоков, и т.д. В этом случае подблоки, принадлежащие текущему блоку, могут совместно использовать режим внутреннего предсказания. В этом случае при применении множества слоев опорных пикселей к подблокам в блоке могут достигаться лучшие результаты.
[00668] На фиг. 28 изображен пример генерирования подблоков в текущем блоке с использованием множества слоев опорных пикселей. Текущий блок представляет собой блок 4M×4N, подблоком является 4M×N, и выполняется прямое предсказание (сверху-> вниз или слева-> направо в качестве точки отсчета, обратное предсказание - снизу-> вверх, справа-> вниз), тогда как режимом предсказания, использующим опорные пиксели, направлениями предсказания которых являются верхний левый блок, верхний блок и верхний правый блок, является k (№ 66 на фиг. 9).
[00669] Со ссылкой на фиг. 28, подблок 4M×N, содержащий х, может выполнять внутреннее предсказание с использованием в качестве слоя опорных пикселей первого предыдущего подблока, который был закодирован. Альтернативно подблок, содержащий х, может выполнять внутреннее предсказание с использованием в качестве слоя опорных пикселей второго предыдущего подблока, который был закодирован. Альтернативно, подблок, содержащий х, может выполнять внутреннее предсказание с использованием в качестве слоев опорных пикселей первого и второго предыдущих подблоков (если к каждому слою опорных пикселей применяется взвешенное значение, взвешенное значение, применяемое к подблоку, содержащему х, больше или равно взвешенному значению других подблоков).
[00670] В целом безусловное использование слоев опорных пикселей не всегда приводит к правильному результату, если множество слоев опорных пикселей используется на основе блока кодирования. Однако в приведенном выше примере используемый для кодирования предыдущий подблок целевого подблока имеет такое же направление, как целевой подблок, что, таким образом, приводит к лучшему результату. Поэтому для определения в явном виде выполнения или выбора одного из слоев опорных пикселей к подблокам в текущем блоке может быть в явном виде применено множество настроек слоев опорных пикселей. Альтернативно, для генерирования значения предсказания целевого подблока к первым k подблокам целевого подблока может быть в неявном виде применено множество слоев опорных пикселей.
[00671] Если для множества подблоков задано, соответственно, использование разных слоев опорных пикселей в отношении элемента подблока, и требуется сгенерировать блок предсказания с использованием приведенных выше настроек, в соответствии с положениями в текущем блоке подблоков могут выполняться разные настройки.
[00672] Например, предполагается, что в текущем блоке поддерживается четыре горизонтально разделенных подблока. Тогда первый подблок может выполнять предсказание и кодирование с использованием ближайшего опорного пикселя текущего блока, а второй подблок может выполнять предсказание и кодирование с использованием ближайшего опорного пикселя текущего блока и данных первого подблока.
[00673] Кроме того, третий подблок может выполнять предсказание и кодирование с использованием данных первого и второго подблоков, и четвертый подблок может выполнять предсказание и кодирование с использованием данных второго и третьего подблоков.
[00674] Фильтрация опорных пикселей и интерполяция опорных пикселей, применимые к каждому слою опорных пикселей (или подблоку), могут использовать один фильтр или могут использовать разные фильтры, описанные выше. В этом случае фильтры различаются по количеству отводов фильтра и коэффициентам фильтра. Кроме того, фильтрация также может применяться одинаково или по-разному. Альтернативно, фильтрация опорных пикселей и интерполяция опорных пикселей не выполняются по отдельности, но могут быть реализованы в одном фильтре. Например, при выполнении фильтрации опорных пикселей с использованием 6-отводного интерполяционного фильтра вместо 3-отводного фильтра низких частот и 4-отводного интерполяционного фильтра фильтрацию можно не выполнять дважды.
[00675] Как описано выше, могут быть заданы различные конфигурации опорных пикселей, а затем предсказание может быть выполнено с использованием множества слоев опорных пикселей. В других различных вариантах осуществления настоящего изобретения могут быть описаны различные комбинации.
[00676] Ниже будет описан пример генерирования блока предсказания.
[00677] Ранее было описано, что опорные пиксели для внутреннего предсказания можно выделить во множество концепций. Вместо использования множества слоев опорных пикселей, блок предсказания может быть сгенерирован или скорректирован с использованием первого опорного пикселя и второго опорного пикселя в соответствии с режимом предсказания.
[00678] Описаны примеры с разными способами применения в соответствии с режимом предсказания. Однако данный пример может быть применен к случаю, в котором текущий блок разделен на множество подблоков. То есть, в сравнении с использованием опорного пикселя как первого опорного пикселя для смежного блока текущего блока, использование пикселя, расположенного в положении, противоположном направлению режима предсказания, или положении, соответствующем направлению режима предсказания, в качестве второго опорного пикселя, если текущий блок разделен на множество подблоков, первым опорным пикселем может являться верхний блок. То есть в настоящем изобретении может изменяться положение первого опорного пикселя в примере генерирования блока предсказания с использованием множества опорных пикселей.
[00679] Альтернативно вышеописанный способ может не использоваться тогда, когда текущий блок разделен на множество подблоков и преобразован. Причина заключается в том, что использование второго опорного пикселя может приводить к низкой эффективности при компоновке ближайших пикселей, включающих ранее завершенное кодирование.
[00680] То есть выполнение кодирования путем разделения текущего блока (блока преобразования) на подблоки требует подтверждения. Поэтому в настоящем изобретении блок предсказания может генерироваться или корректироваться с использованием первого опорного пикселя и второго опорного пикселя в соответствии с режимом предсказания, если кодирование выполняется путем предсказания, преобразования и т.д. при исходном размере блока без разделения. Если кодирование выполняется после разделения, генерирование или коррекция блока предсказания с использованием второго опорного пикселя запрещены.
[00681] Если при выполнении кодирования второй опорный пиксель используется после разделения в соответствии с настройками разделения на подблоки/декодирования, соответствующий процесс может быть выполнен путем корректировки положения первого опорного пикселя.
[00682] На фиг. 29 представлена принципиальная схема для разъяснения конфигурации опорных пикселей для внутреннего предсказания. Размер и форма (M×N) текущего блока для выполнения предсказания могут быть получены из секции разделения блока и описаны на основе следующих предположений: для выполнения внутреннего предсказания поддерживается диапазон 4×4-256×256. Обычно внутреннее предсказание может выполняться в элементах блока предсказания, однако внутреннее предсказание может выполняться в элементах блоков кодирования и блоков преобразования в соответствии с настройками секции разделения блока. После подтверждения информации о блоке секция конфигурации опорных пикселей может конфигурировать опорный пиксель, используемый для предсказания текущего блока. В этом случае обработка опорного пикселя может выполняться временным запоминающим устройством (например, массивом <Array>, главным массивом или вспомогательным массивом и т.д.), опорный пиксель может генерироваться и удаляться во время каждого процесса внутреннего предсказания блока, и размер временного запоминающего устройства может определяться в соответствии с конфигурацией опорного пикселя.
[00683] В данном примере предполагается, что для предсказания текущего блока путем центрирования на текущем блоке используются левый блок, верхний блок, верхний левый блок, верхний правый блок и нижний левый блок. Однако он этим не ограничен, и для предсказания текущего блока может использоваться группа блоков-кандидатов, имеющая другие конфигурации. Например, группа кандидатов для смежных блоков опорного пикселя может представлять собой пример, следующий растровому или Z-сканированию, и часть группы кандидатов может быть удалена в соответствии с порядком сканирования или сконфигурирована с возможностью включения других групп блоков-кандидатов (например, дополнительной конфигурации верхнего блока, нижнего блока, нижнего правого блока и т.д.). То есть положения смежных блоков, пригодных в качестве опорных, могут изменяться в соответствии с порядком сканирования или т.п.
[00684] Альтернативно для предсказания текущего блока могут использоваться блоки (например, имеющие соответствующие координаты согласно той же координате или компонентному композиционному соотношению в каждом цветовом пространстве), соответствующие текущему блоку в других цветовых пространствах (например, если текущий блок принадлежит к Cr, другие цветовые пространства соответствуют Y или Cb). Кроме того, для простоты описания описание выполнено в предположении, что один блок сконфигурирован в предварительно заданном положении (левый, верхний, верхний левый, верхний правый и нижний левый), но в соответствующем положении может существовать по меньшей мере один блок. То есть в предварительно заданном положении может существовать множество подблоков, полученных путем разделения соответствующего блока.
[00685] Коротко говоря, смежная область текущего блока может представлять собой положение опорного пикселя для внутреннего предсказания текущего блока, и положением опорного пикселя в соответствии с режимом предсказания можно дополнительно считать область, соответствующую текущему блоку в другом цветовом пространстве. В дополнение к приведенным выше примерам, может быть определено положение опорного пикселя, заданное в соответствии с режимом предсказания, способом и т.д. Например, если блок предсказания генерируется таким способом, как совпадение блоков, положением опорного пикселя можно считать область, в которой кодирование/декодирование было завершено перед текущим блоком текущего изображения, или область, включенную в диапазон поиска в области, где завершено кодирование/декодирование (например, включая левую сторону, или верхнюю сторону, или верхнюю левую сторону и верхнюю правую сторону текущего блока).
[00686] Как изображено на фиг. 29, опорный пиксель для предсказания текущего блока (M×N) может быть сконфигурирован при помощи смежных пикселей левого блока, верхнего блока, верхнего левого блока, нижнего правого блока и нижнего левого блока (Ref_L, Ref_T, Ref_TL, Ref_TR и Ref_BL на фиг. 7).
[00687] В этом случае смежные пиксели могут быть классифицированы посредством по меньшей мере одного слоя опорных пикселей: ближайшим пикселем является ref_0 (разность значений пикселей равна 1, от p (-1, -1) до p (2M-1, -1), от p (-1, 0) до p (-1, 2N-1)), следующим смежным пикселем (разность значений пикселей равна 2, от p (-2, -2) до p (2M, -2), от p (-2, -1) до p (-2, 2N)) может являться ref_1, и следующим смежным пикселем (разность значений пикселей равна 3, от p (-3, -3) до p (2M+1, -3), от p (-3, -2) до p (-3, 2N+1)) может являться ref_2, и т.д. Подробнее, ref_k представляет набор значений пикселей, в котором разность значений пикселей в смежных блоках (в данном примере - Ref_TL, Ref_T, Ref_TR, Ref_L и Ref_BL) равна k+1. Описание (или основное описание) в отношении использования набора опорных пикселей ref_k в данном документе выполнено на основе следующего предположения. Пиксели, имеющие разность значений пикселей, равную k+1, в Ref_TL, Ref_T, Ref_TR, Ref_L и Ref_BL используются как опорные пиксели и используются для блока предсказания, но настоящее изобретение этим не ограничено. Это означает, что в наборе опорных пикселей для предсказания текущего блока смежные блоки могут быть одинаковыми или разными.
[00688] Например, также может быть использован ref_0 (от p (-1, -1) до p (2M-1, -1)) в Ref_TL, Ref_T и Ref_TR, использован ref_1 (от p (-2, 0) до p (-2, N-1)) в Ref_L и использован ref_2 (от p (-3, N) до p (-3, 2N+1)) в Ref_BL.
[00689] Кроме того, один набор опорных пикселей относится к набору опорных пикселей Ref_TL, Ref_T, Ref_TB, Ref_L и Ref_BL (т.е. получен из смежного блока, используемого для внутреннего предсказания текущего блока), но в следующем примере набор опорных пикселей может быть сконфигурирован посредством некоторой комбинации опорных пикселей (например, Ref_T+Ref_TR, Ref_L+Ref_BL, Ref_T+Ref_TL+Ref_L и т.д., или может иметь место случай, в котором блок в каждом положении конфигурируется посредством подблоков, то есть Ref_T0+Ref_T1, Ref_L0+Ref_TL+Ref_T и т.д.).
[00690] Настоящее изобретение описано в предположении, что имеется не более трех наборов опорных пикселей, однако оно этим не ограничено, и может использоваться большее количество наборов опорных пикселей (k равно 3 или более). В этом случае поддерживаемый набор опорных пикселей (или максимальное количество наборов, называемое в следующих примерах группой опорных пикселей-кандидатов) может быть определен в соответствии с настройками кодирования/декодирования (например, размером, формой блока, режимом предсказания, типом изображения, цветовой компонентой и т.д.).
[00691] В настоящем описании предполагается случай, в котором нижний индекс (с приращением на 1 от 0) присваивается от ближайшего набора опорных пикселей, но настоящее изобретение этим не ограничено. Кроме того, описанная ниже связанная информация о конфигурации опорных пикселей может генерироваться при вышеописанных настройках индексов (преобразование в двоичную форму присвоения короткого бита малому индексу в случае выбора одного из множества наборов опорных пикселей и т.д.), но настоящее изобретение этим не ограничено.
[00692] Обычно как опорный пиксель может быть сконфигурирован ближайший пиксель смежного блока (в данном примере - слой ref_0 опорных пикселей), однако в соответствии с настройками кодирования/декодирования как опорные пиксели могут быть сконфигурированы и другие пиксели. Если используются другие слои опорных пикселей или по меньшей мере один слой опорных пикселей, точность предсказания может быть повышена, за счет чего повышается эффективность кодирования. В этом случае могут иметься различные настройки, связанные с настройкой слоя опорных пикселей.
[00693] Например, набор опорных пикселей, используемый для внутреннего предсказания, может быть определен в неявном виде, или в явном виде может генерироваться информация, связанная с использованным набором опорных пикселей. Подробнее, в качестве опорных пикселей может быть сконфигурирован по меньшей мере один предварительно заданный набор пикселей, или в качестве опорных пикселей может быть сконфигурирован по меньшей мере один набор опорных пикселей, определенный при помощи информации о выборе набора опорных пикселей. При помощи вышеописанного процесса в качестве опорных пикселей для текущего блока может быть сконфигурирован набор опорных пикселей (например, ref_0, ref_1, ref_2, ref_0+ref_1, ref_0+ref_2, ref_1+ref_2, ref_0+ref_1+ref_2).
[00694] Кроме того, возможно различать случай, в котором количество наборов опорных пикселей, сконфигурированных как опорные пиксели, равно 1, и случай, в котором количество наборов опорных пикселей, сконфигурированных как опорные пиксели, равно двум или более. Первый случай представляет случай, в котором пиксели в одном наборе опорных пикселей используются для генерирования блока предсказания, тогда как последний случай представляет случай, в котором для генерирования блока предсказания используется по меньшей мере один пиксель (например, если в качестве опорных пикселей заданы два или более наборов опорных пикселей - значение, полученное из срединного значения, взвешенного среднего и т.д. значений пикселей (это значение также может представлять собой значение, производное от одного или более пикселей в каждом наборе опорных пикселей), в каждом наборе опорных пикселей может представлять собой значение, полученное из одного или более пикселей).
[00695] Например, блок предсказания может генерироваться с использованием опорного пикселя, полученного путем взвешенного суммирования пикселей в первом наборе опорных пикселей (в данном примере - ref_0) и пикселей во втором наборе опорных пикселей (в данном примере - ref_1). В этом случае, в соответствии с режимом предсказания (например, направленным режимом предсказания), пиксели, к которым применяется взвешенная сумма в каждом слое опорных пикселей, могут представлять собой не только пиксели целочисленных элементов, но также пиксели десятичных элементов. Альтернативно взвешенные значения (например, 7:1, 3:1, 2:1, 1:1 и т.д.) могут быть соответственно применены к блоку предсказания, полученному путем использования пикселей в первом наборе опорных пикселей в качестве опорных пикселей, и блоку предсказания, полученному путем использования пикселей во втором наборе опорных пикселей, для получения блока предсказания.
[00696] В предположении случая информации о конфигурации опорных пикселей, сгенерированной в явном виде, информация об указании, разрешающая адаптивную конфигурацию опорных пикселей (в данном примере - adaptive_intra_ref_pixel_enabled_flag), может появляться в элементах видео, последовательности, кадра, среза, плитки и т.д.
[00697] Если информация об указании означает, что адаптивная конфигурация опорных пикселей разрешена (в данном примере adaptive_intra_ref_sample_enabled_flag=1), информация об адаптивной конфигурации опорных пикселей (в данном примере - adaptive_intra_ref_sample_flag) может появляться в элементах кадра, среза, плитки, блока и т.д.
[00698] Если информация о конфигурации означает, что адаптивная конфигурация опорных пикселей разрешена (в данном примере - adaptive_intra_ref_sample_flag=1), связанная информация о конфигурации опорных пикселей (например, информация о выборе набора опорных пикселей и т.д., в данном примере - intra_ref_idx) может появляться в элементах кадра, среза, плитки, блока и т.д.
[00699] В этом случае, если адаптивная конфигурация опорных пикселей не разрешена, или конфигурация не является адаптивной конфигурацией опорных пикселей, опорный пиксель может быть сконфигурирован в соответствии с предварительно определенной настройкой. В целом примером этого может быть, но без ограничения, случай, в котором ближайший пиксель смежного блока сконфигурирован как опорный пиксель, могут иметь место различные случаи (например, случай, в котором ref_0 и ref_1 сконфигурированы как опорные пиксели, и значение пикселя предсказания генерируется путем выполнения суммирования взвешенных значений или т.п. в отношении ref_0 и ref_1 и т.д.; то есть неявный случай).
[00700] Кроме того, в дополнение к вышеописанному предварительно заданному случаю (например, случаю ref_0), связанная информация о конфигурации опорных пикселей (например, информация о выборе набора опорных пикселей и т.д.) может быть сконфигурирована, но без ограничения, группой кандидатов (например, ref_1, ref_2, ref_3 и т.д.).
[00701] В приведенном выше примере описание выполнено на основе иерархической структуры, начиная от элемента верхнего слоя, но этим не ограничено. Кроме того, в некоторых случаях связанная информация может быть определена в неявном виде. Например, как описано выше, в некоторых случаях связанная информация может появляться в соответствии с настройками кодирования/декодирования, в некоторых случаях связанная информация определяется в неявном виде, и в некоторых случаях может иметь место комбинированный случай.
[00702] Некоторые случаи конфигурации опорных пикселей описаны при помощи приведенных выше примеров, которые можно скомбинировать с различной информацией о кодировании/декодировании и т.д. для определения настроек внутреннего предсказания. В этом случае информация о кодировании/декодировании содержит тип (I/P/B) изображения, цветовую компоненту, форму и размер текущего блока, режим предсказания (тип режима предсказания (направленный или ненаправленный)), направление режима предсказания (вертикальный, горизонтальный, диагональный 1, диагональный 2 и т.д.) и т.д., и настройки внутреннего предсказания (в данном примере - настройки конфигурации опорных пикселей) могут быть определены в соответствии с информацией о кодировании/декодировании смежного блока и комбинацией информации о кодировании/декодировании текущего блока и смежного блока.
[00703] На фиг. 30 представлена принципиальная схема в отношении конфигурации опорных пикселей.
[00704] На изображении a на фиг. 30 представлен случай, в котором набор опорных пикселей конфигурируется как опорный пиксель, и последующий процесс внутреннего предсказания (генерирование опорных пикселей, фильтрация опорных пикселей, интерполяция опорных пикселей, генерирование блока предсказания, фильтрация при последующей обработке и т.д.; некоторые процессы внутреннего предсказания могут быть сконфигурированы адаптивно в соответствии с конфигурацией набора опорных пикселей) может быть выполнен после конфигурирования ref_0 как опорного пикселя. Например, информация о наборе опорных пикселей не генерируется для одного набора опорных пикселей, и может быть выполнен процесс внутреннего предсказания в соответствии с ненаправленным режимом.
[00705] На изображении b на фиг. 30 представлен случай, в котором в качестве опорных пикселей задано не более двух наборов опорных пикселей, и последующий процесс внутреннего предсказания может быть выполнен после конфигурирования ref_0+ref_1 («и» на фигуре) в качестве опорных пикселей. Например, несмотря на то что имеется множество наборов опорных пикселей, но не сгенерирована информация о наборе опорных пикселей, процесс внутреннего предсказания может быть выполнен в соответствии с некоторым режимом предсказания (в данном примере - от верхнего левого угла к нижнему левому углу или от нижнего левого угла к верхнему правому углу).
[00706] На изображении c на фиг. 30 представлен случай, в котором в качестве опорного пикселя задано не более одного набора опорных пикселей, и последующий процесс внутреннего предсказания может быть выполнен после конфигурирования одного из ref_0, ref_1 и ref_2 («или» на фигуре) в качестве опорных пикселей. Например, информация о наборе опорных пикселей генерируется при помощи множества наборов опорных пикселей, и обработка внутреннего предсказания может быть выполнена в соответствии с некоторыми режимами предсказания (в данном примере - от верхнего левого угла к нижнему правому углу).
[00707] Коротко говоря, на изображениях b и c по фиг. 30 представлены случаи, в которых поддерживается, соответственно, два и три набора опорных пикселей (другими словами, соответственно, две и три группы опорных пикселей-кандидатов), на изображении b представлено не более двух наборов опорных пикселей, сконфигурированных опорными пикселями (например, производными от взвешенного среднего значений пикселей из каждого набора опорных пикселей и т.д.), и на изображении c представлено не более одного набора опорных пикселей, сконфигурированного опорными пикселями (например, производными от значений пикселей выбранного набора опорных пикселей из трех групп кандидатов).
[00708] На фиг. 31 представлена принципиальная схема конфигурации опорных пикселей.
[00709] На изображении a на фиг. 31 изображен случай, в котором группой опорных пикселей-кандидатов является один набор опорных пикселей, когда размер блока равен 64×64 или более. На изображении b на фиг. 31 изображен случай, в котором группами опорных пикселей-кандидатов являются два набора опорных пикселей (что означает не более двух наборов опорных пикселей для опорных пикселей; то есть понятно, что возможны оба случая, которые представлены на изображениях b и c по фиг. 30; такой же случай представлен ниже), когда размер блока больше 16×16 и меньше 64×64. На изображении с на фиг. 31 изображен случай, в котором группами опорных пикселей-кандидатов являются три набора опорных пикселей (что означает не более трех наборов опорных пикселей для опорных пикселей), когда размер блока меньше 16×16. В настоящем примере, так как текущий блок имеет больший размер, размер смежного блока с большей вероятностью является меньшим, что может являться результатом разделения по причине других характеристик изображения. Поэтому, во избежание выполнения предсказания от пикселей на большом расстоянии от значения пикселя текущего блока, предполагается, что, так как блок имеет больший размер, количество кандидатов набора опорных пикселей уменьшается, но также можно предположить противоположный случай. Настоящее изобретение этим не ограничено. Могут быть осуществлены различные примеры изменений.
[00710] На фиг. 32 представлена принципиальная схема в отношении конфигурации опорных пикселей.
[00711] На фиг. 32 изображен случай, в котором, когда текущий блок является прямоугольным (в данном примере - удлиненным горизонтально), группами опорных пикселей-кандидатов являются множество наборов опорных пикселей на более длинной стороне, и группой опорных пикселей-кандидатов является один набор опорных пикселей на более короткой стороне. В данном примере предполагается, что на более короткой стороне сконфигурирован один набор опорных пикселей, однако понятно, что имеется меньшее количество конфигураций, чем на более длинной стороне, и может также иметься большое количество конфигураций в противоположном случае. Данный пример предназначен для предотвращения, но без ограничения, случая, в котором, когда блок является прямоугольным, опорный пиксель с малой длиной часто находится дальше от текущего блока, вследствие чего снижается точность предсказания.
[00712] Например, в случае направленного режима, предсказываемого с использованием опорных пикселей на верхней и правой верхней сторонах блока, предсказание может быть выполнено с использованием множества наборов опорных пикселей (возможны оба случая, которые представлены на изображениях b и c по фиг. 30), и в случае направленного режима, предсказываемого с использованием опорных пикселей левой и нижней левой сторон блока, предсказание может быть выполнено с использованием единственного набора опорных пикселей. То есть может иметь место случай, в котором набор опорных пикселей определяется адаптивно в соответствии со смежными блоками в одном блоке.
[00713] В качестве примера случая, в котором один из множества наборов опорных пикселей конфигурируется в качестве опорных пикселей, когда каждый набор опорных пикселей является одинаковым или аналогичным, генерирование информации о конфигурации опорных пикселей (например, информации о выборе опорных пикселей, информации о разрешении адаптивных опорных пикселей и т.д.) может представлять собой случай, в котором информация появляется повторно. Например, если определено, что характеристики распределения опорных пикселей (например, они определены средним значением и дисперсией каждого набора опорных пикселей; в качестве примера, они могут быть определены путем сравнения значения, полученного в вышеописанном процессе с пороговым значением <Threshold>; то есть, если определено, что генерируется такой же или почти аналогичный блок предсказания, не имеет значения, какой набор опорных пикселей используется, связанная информация может быть опущена; в данном примере это может быть ограничено сравнением, выполненным для последнего выбранного режима предсказания) каждого набора опорных пикселей являются одинаковыми или аналогичными, информация о конфигурации опорных пикселей может быть опущена. В этом случае опорные пиксели могут быть сконфигурированы при помощи предварительно заданного способа (например, ближайшего набора опорных пикселей). В аспектах определения того, принимать ли информацию о конфигурации опорных пикселей путем приема информации о внутреннем предсказании (например, информации о режиме внутреннего предсказания), декодер может являться таким же, как кодер, и на основе этого определения может быть определено то, принимать ли информацию о конфигурации опорных пикселей.
[00714] Несмотря на то что на различных примерах изображен случай, в котором в качестве опорных пикселей сконфигурировано множество наборов опорных пикселей, он ими не ограничен. Могут иметь место различные преобразованные примеры, которые могут быть скомбинированы с другими, дополнительными конфигурациями.
[00715] Секция конфигурации опорных пикселей для внутреннего предсказания может содержать секцию генерирования опорных пикселей, секцию интерполяции опорных пикселей, секцию фильтрации опорных пикселей и т.д. и может иметь все или часть из вышеописанных конфигураций.
[00716] Секция конфигурации опорных пикселей выполнена с возможностью подтверждения доступности опорных пикселей с целью классификации доступных опорных пикселей и недоступных опорных пикселей. Например, если блок в предварительно заданном положении (или кандидатный блок опорного пикселя) является доступным, то соответствующий блок может быть использован как опорный пиксель, а если он недоступен, этот блок нельзя использовать как опорный пиксель.
[00717] Если удовлетворяется по меньшей мере одно из следующих условий, определяется, что опорный пиксель является недоступным. Например, опорный пиксель определяется как недоступный, если удовлетворяется одно из условий, согласно которым опорный пиксель находится вне границы кадра, он не принадлежит к тому же блоку разделения, что и текущий блок (например, срез, плитка и т.д.), кодирование/декодирование не завершено, и использование ограничено в соответствии с кодированием/декодированием. То есть, если ни одно из приведенных выше условий не удовлетворяется, определяется, что опорный пиксель является доступным.
[00718] Кроме того, использование опорных пикселей может быть ограничено настройками кодирования/декодирования. Например, использование опорных пикселей может быть ограничено в соответствии с выполнением ограниченного внутреннего предсказания (например, constrained_intra_pred_flag). Ограниченное внутреннее предсказание может выполняться тогда, когда устойчивое к ошибкам кодирование/декодирование необходимо выполнить в отношении внешних факторов, таких как среда связи, если предпринимается попытка запретить использование блоков, восстановленных путем отсылки к другим изображениям в качестве опорных пикселей.
[00719] В соответствии с доступностью опорного пикселя, кандидатные блоки опорных пикселей могут быть классифицированы на случай, в котором могут быть использованы все кандидатные блоки опорных пикселей, случай, в котором могут быть использованы некоторые опорные пиксели, и случай, в котором все опорные пиксели недоступны. За исключением случая, в котором могут быть использованы все кандидатные блоки опорных пикселей, в остальных случаях опорные пиксели, недоступные в положении кандидатного блока, могут быть заполнены или сгенерированы.
[00720] Если кандидатный блок опорного пикселя можно использовать, пиксель в предварительно заданном положении блока (в данном примере предполагается, что пиксель является смежным с текущим блоком) может быть включен в запоминающее устройство для опорных пикселей текущего блока.
[00721] Если кандидатный блок опорного пикселя использовать нельзя, пиксели, полученные путем процесса генерирования опорных пикселей, могут быть включены в запоминающее устройство для опорных пикселей текущего блока.
[00722] Коротко говоря, если кандидатный блок опорного пикселя находится в доступном состоянии, опорный пиксель может быть сконфигурирован, и, если кандидатный блок опорного пикселя находится в недоступном состоянии, опорный пиксель может быть сгенерирован.
[00723] В секции фильтрации опорных пикселей обычно используется фильтр нижних частот (такой как 3-отводный фильтр и 5-отводный фильтр, например, [1, 2, 1]/4 и [2, 3, 6, 3, 2]/16) для выполнения сглаживания как основной цели, но могут использоваться другие типы фильтров (такие как фильтр верхних частот) в соответствии с назначением фильтров (например, увеличение четкости и т.д.). В настоящем описании подчеркивается, что фильтрация выполняется с целью сглаживания для уменьшения ухудшения качества в процессе кодирования/декодирования.
[00724] Выполнение фильтрации опорных пикселей можно определить в соответствии с настройками кодирования/декодирования. То есть фильтрация может применяться или может не применяться к опорным пикселям. Однако такая единообразная операция фильтрации может иметь тот недостаток, что могут быть не отражены некоторые характеристики изображения, и может являться преимущественным улучшение выполнения кодирования путем выполнения фильтрации на основе такой информации, как информация о кодировании/декодировании, отражающая некоторые характеристики изображения.
[00725] Характеристики изображения могут быть определены не только в соответствии с типом (I/P/B) изображения, цветовой компонентой (Y/Cb/Cr), параметром квантования, информацией о кодировании/декодировании текущего блока (например, размером, формой, информацией о разделении, режимом предсказания и т.д.), но также в соответствии с информацией о кодировании/декодировании смежных блоков, комбинацией информации о кодировании/декодировании текущего блока и смежных блоков и т.д. Кроме того, определение (например, определение того, является область опорного пикселя ровной областью или областью с разрывами, и т.д.) может выполняться в соответствии с характеристиками распределения опорных пикселей (например, дисперсией, стандартным отклонением и т.д. области опорных пикселей). Таким образом, если информация о характеристиках изображения может быть подтверждена, применение фильтрации опорных пикселей может быть задано заранее.
[00726] Альтернативно фильтрация опорных пикселей может быть задана в явном виде. Например, может генерироваться информация о том, применять ли фильтрацию. В этом случае информация о выборе фильтра не генерируется, если имеется один фильтр, или может генерироваться, если имеется множество групп фильтров-кандидатов.
[00727] Несмотря на то что в приведенных выше примерах были описаны настройки в неявном виде и явном виде для фильтрации опорных пикселей, также могут иметь место комбинированные случаи, например, в некоторых случаях определяется использование настроек в явном виде, а в других случаях определяется использование настроек в неявном виде. В этом случае выражение «настройки в неявном виде» означает, что информация о фильтре опорных пикселей (например, о том, применять ли фильтрацию, и информация о категории фильтра) может быть получена в декодере.
[00728] Секция интерполяции опорных пикселей выполнена с возможностью генерирования опорных пикселей в десятичном элементе путем линейной интерполяции опорных пикселей. Несмотря на то что в настоящем описании процесс описан как часть секции конфигурации опорных пикселей, его можно понимать, как компонент, выполненный с возможностью включения в секцию генерирования блока предсказания и исполнения перед генерированием блока предсказания.
[00729] Кроме того, несмотря на то что секция интерполяции опорных пикселей предполагается как компонент, отдельный от предшествующей секции фильтрации опорных пикселей, они могут быть выполнены с возможностью объединения в один компонент. Также может иметь место конфигурация, в которой при применении множества фильтров в секции интерполяции опорных пикселей и секции фильтрации опорных пикселей в опорном пикселе генерируется искажение.
[00730] В некоторых режимах предсказания (например, горизонтальном, вертикальном, некоторых диагональных режимах <режимах, образующих угол 45 градусов, таких как диагонально снизу справа, диагонально снизу слева и диагонально сверху справа>, ненаправленных режимах, цветовых режимах, режимах копирования цвета и т.д.; то есть в режимах, где десятичная интерполяция при генерировании блока предсказания не требуется), процесс интерполяции опорных пикселей может не выполняться, и он может выполняться в других режимах предсказания (режиме, где десятичная интерполяция при генерировании блока предсказания требуется).
[00731] Точность интерполяции (например, таких элементов пикселей, как 1, 1/2, 1/4, 1/8, 1/16, 1/32 и 1/64) может быть определена в соответствии с режимом предсказания (или направленностью режима предсказания). Например, в режиме предсказания, образующем угол 45 градусов, процесс интерполяции не требуется, а в режиме предсказания, образующем угол 22,5 градусов или 67,5 градусов, требуется интерполяция в элементах 1/2 пикселя. Как описано выше, в соответствии с режимом предсказания может быть определена по меньшей мере одна точность интерполяции и максимальная точность интерполяции.
[00732] Для интерполяции опорных пикселей, может быть использован предварительно заданный фильтр (например, 2-отводный линейный интерполяционный фильтр, то есть в любых случаях используется только этот интерполяционный фильтр), и может использоваться одна из множества групп интерполяционных фильтров-кандидатов (например, 4-отводный кубический фильтр, 4-отводный гауссов фильтр, 6-отводный фильтр Винера и 8-отводный фильтр Калмана; то есть определено, что используется интерполяционный фильтр, применяемый в соответствии с настройками кодирования/декодирования). В этом случае интерполяционный фильтр может быть выделен по отличиям в количестве отводов (т.е. по количеству пикселей, к которым применяется фильтрация), коэффициентам фильтра и т.д.
[00733] Интерполяция может включать примеры исполнения по стадиям, например, в порядке от низкой точности до высокой точности (например, 1/2-> 1/4-1/8), а также примеры единообразного исполнения. В первом случае интерполяция относится к выполнению интерполяции (т.е. это означает, что для интерполяции используются не только целочисленные элементы, но также десятичные элементы) на основе пикселей целочисленных элементов и пикселей десятичных элементов (в данном примере - со ссылкой на пиксели, для которых ранее была выполнена интерполяция на основе менее высокой точности, чем для пикселя, подлежащего интерполяции в настоящий момент). В последнем случае интерполяция означает, что интерполяция выполняется на основе пикселей целочисленных элементов (т.е. означает, что для интерполяции используются только пиксели целочисленных элементов).
[00734] Если используется одна из множества групп секций фильтров-кандидатов, информация о выборе фильтра может генерироваться в явном виде или определяться в неявном виде и может определяться в соответствии с настройками кодирования/декодирования (например, точностью интерполяции, размером и формой блока, режимом предсказания и т.д.). В этом случае элемент, генерируемый в явном виде, соответствует видео, последовательности, кадру, срезу, плитке, блоку и т.д.
[00735] Секция генерирования блока предсказания выполнена с возможностью генерирования блока предсказания в соответствии с по меньшей мере одним режимом предсказания и выполнена с возможностью использования опорного пикселя на основе режима предсказания. В этом случае опорный пиксель может использоваться в таких способах (направленный режим), как экстраполяция в соответствии с режимом предсказания, и может использоваться в таких способах (ненаправленный режим), как интерполяция, или усреднение (DC), или копирование.
[00736] Кроме того, блок предсказания может генерироваться путем копирования опорных пикселей. При копировании опорных пикселей более одного пикселя предсказания может генерироваться путем копирования одного опорного пикселя, или более одного пикселя предсказания может генерироваться путем копирования более чем одного опорного пикселя, и количество скопированных опорных пикселей меньше или равно количеству скопированных пикселей предсказания.
[00737] Кроме того, несмотря на то что блок предсказания в целом состоит из одного блока предсказания, полученного при помощи процесса генерирования блока предсказания, может быть включен следующий пример: конечный блок предсказания получается путем получения множества блоков предсказания и применения к этому множеству блоков предсказания взвешенного суммирования или т.п. В данном случае выражение «множество блоков предсказания» может относиться к блокам предсказания, полученным из набора опорных пикселей, а в других случаях может относиться к одному и тому же блоку предсказания.
[00738] Секция определения режима предсказания выполняет процесс выбора оптимального режима во множестве групп режимов-кандидатов предсказания. Для определения режима с оптимальной стоимостью кодирования с целью генерирования количества битов соответствующего режима могут быть в целом рассмотрены технология искажения блока (например, искажение текущего блока и восстановленного блока; SAD, SSD и т.д.) и технология случайного искажения. Блок предсказания, сгенерированный на основе режима предсказания, определенного при помощи вышеописанного процесса, может быть направлен в секцию вычитания и секцию сложения.
[00739] Секция кодирования режима предсказания выполнена с возможностью кодирования режима предсказания, выбранного при помощи секции определения режима предсказания. В группе режимов-кандидатов предсказания может кодироваться информация об индексах, соответствующая режиму предсказания, или режим предсказания может быть предсказан для кодирования связанной с ним информации. То есть первый случай представляет способ прямого кодирования режима предсказания без выполнения предсказания, и последний случай представляет способ предсказания режима предсказания так, что кодируется информация о предсказании режима кодирования и информация, полученная на основе информации о предсказании. Кроме того, первый пример представляет собой пример, который может применяться к цветоразностной компоненте, и последний пример представляет собой пример, который может быть применен к компоненте яркости. Они этим не ограничены и также могут применяться в других случаях.
[00740] В случае выполнения предсказания и кодирования в отношении режима предсказания, значение предсказания (или информация о предсказании) режима предсказания может называться МРМ. В этом случае как MPM может быть сконфигурирован предварительно заданный режим предсказания (например, режим DC, планарный режим, вертикальный режим, горизонтальный режим, диагональный режим и т.д.) или режим предсказания пространственно смежного блока (например, левого блока, верхнего блока, верхнего левого блока, верхнего правого блока, нижнего левого блока и т.д.). В данном примере диагональный режим может представлять режим диагонально вверх вправо, диагонально вниз вправо и диагонально вниз влево, которые могут соответствовать режиму 9, режиму 34 и режиму 66 на фиг. 9.
[00741] Кроме того, режим, полученный из режимов, включенных в группу МРМ-кандидатов, может быть сконфигурирован как группа МРМ-кандидатов. Например, в случае направленного режима, включенного в группу МРМ-кандидатов, режим с разностью a интервалов между режимами (например, a - ненулевое целое число, такое как 1, -1, 2 или -2; в случае если на фиг. 9 был включен режим 10, производными режимами являются режим 9, режим 11, режим 8, режим 12 и т.д.) повторно включается (или дополнительно включается) в группу МРМ-кандидатов.
[00742] Приведенный выше пример может соответствовать случаю, в котором группа МРМ-кандидатов сконфигурирована во множестве режимов, при этом конфигурация группы МРМ-кандидатов (например, количество групп МРМ-кандидатов и приоритет конфигурации) может быть определена в соответствии с настройками кодирования/декодирования (например, группой режимов-кандидатов предсказания, типом изображения, размером блока, формой блока и т.д.) может быть сконфигурирована как включающая по меньшей мере один режим.
[00743] Режим предсказания для конфигурирования группы МРМ-кандидатов может иметь приоритет. Порядок режимов предсказания, включенных в группу МРМ-кандидатов, может определяться в соответствии с приоритетом, и конфигурация группы МРМ-кандидатов может быть завершена, если количество групп МРМ-кандидатов заполнено в соответствии с приоритетом. В этом случае приоритет может быть определен в порядке: режим предсказания пространственно смежного блока, предварительно заданный режим предсказания и режим, производный от режима предсказания, первоначально включенного в группу МРМ-кандидатов, однако возможны и другие модификации.
[00744] Например, в пространственно смежных блоках режимы предсказания блоков могут быть включены в группу кандидатов в порядке левый-верхний-нижний левый-верхний правый-верхний левый блок и т.д. В предварительно заданных режимах предсказания режимы предсказания могут быть включены в группу кандидатов в порядке DC-планарный-вертикальный-горизонтальный режим и т.д., и в группу кандидатов включается режим предсказания, полученный путем добавления к включенному режиму +1, -1 или т.п. Альтернативно режимы предсказания могут быть включены в группу кандидатов с приоритетом левый-верхний-DC-планарный-нижний левый-верхний правый-верхний левый-левый+1-левый-1-верхний+1 и т.д.
[00745] Если кодирование режима предсказания текущего блока выполнятся с использованием МРМ, может генерироваться информация о том, совпадает ли режим предсказания с МРМ (например, most_probable_mode_flag).
[00746] Если режим предсказания совпадает с MPM, (например, most_probable_mode_flag=1), в соответствии с конфигурацией МРМ может дополнительно генерироваться информация об индексах MPM (например, mpm_idx). Например, если MPM выполнен как один режим предсказания, дополнительная информация об индексах MPM не генерируется, а если MPM выполняется как множество режимов предсказания, в группе MPM-кандидатов может генерироваться информация об индексах, соответствующая режиму предсказания текущего блока.
[00747] Если режим предсказания не совпадает с MPM (например, most_probable_mode_flag=0), в оставшейся группе режимов-кандидатов предсказания (или группе режимов-кандидатов, не являющихся MPM), отличной от группы MPM-кандидатов в группах режимов-кандидатов предсказания, может генерироваться информация об индексах режимов, не являющихся MPM (например, non_mpm_idx), соответствующая режиму предсказания текущего режима, что может представлять собой пример случая, в котором режим, не являющийся MPM, сконфигурирован как одна группа.
[00748] Если группа режимов-кандидатов, не являющихся MPM, состоит из множества групп, может генерироваться информация о том, к какой группе принадлежит режим предсказания текущего блока. Например, режим, не являющийся MPM, состоит из групп А и B, если режим предсказания текущего блока совпадает с режимом предсказания из группы А (например, non_mpm_A_flag=1), информация об индексах, соответствующая режиму предсказания текущего блока, может генерироваться в группе А кандидатов, и, если совпадение отсутствует (например, non_mpm_A_flag=0), информация об индексах, соответствующая режиму предсказания текущего блока, может генерироваться в остальных группах режимов-кандидатов предсказания (или группе B кандидатов). Как и в приведенном выше примере, режим, не являющийся MPM, может быть сконфигурирован как по меньшей мере одна группа (или набор) режимов-кандидатов предсказания, и конфигурация режимов, не являющихся MPM, может быть определена в соответствии с группой режимов-кандидатов предсказания. Например, если имеется не более 35 групп режимов-кандидатов предсказания, может иметься один режим, не являющийся MPM, а в других случаях имеется два или более режимов, не являющихся MPM.
[00749] В этом случае группа А может конфигурировать как группу кандидатов режим, отличный от группы МРМ-кандидатов, имеющей высшую вероятность совпадения с режимом предсказания текущего блока. Например, следующий последовательный режим предсказания, не включенный в группу МРМ-кандидатов, может быть включен в группу А, или в группу А может быть включен режим предсказания, имеющий направленность из предварительно определенного интервала.
[00750] Если режим, не являющийся МРМ, состоит из множества групп, как в приведенном выше примере, количество режимов предсказания является большим, и режим предсказания не предсказывается с помощью МРМ, режим, не являющийся МРМ, поддерживается с целью уменьшения количества битов режима.
[00751] Если кодирование режима предсказания (или декодирование режима предсказания) текущего блока выполняется с использованием MPM, таблица преобразования в двоичную форму, применяемая к каждой группе режимов-кандидатов предсказания (например, к группе MPM-кандидатов, группе режимов-кандидатов, не являющихся MPM, и т.д.), может генерироваться отдельно, и способ преобразования в двоичную форму, применяемый к каждой группе кандидатов, также может применяться отдельно.
[00752] В приведенном выше примере такие термины, как «группа МРМ-кандидатов» и «группа режимов-кандидатов, не являющихся MPM», являются лишь некоторыми терминами, используемыми в настоящем изобретении, и оно ими не ограничено. В частности, эти термины представляют информацию о категории, к которой принадлежит режим предсказания после деления режимов предсказания в текущем фрейме на множество категорий, и информацию о режиме в пределах категории. В качестве других выражений, они также могут быть использованы для таких терминов, как «главная группа МРМ-кандидатов» и «вспомогательная группа МРМ-кандидатов».
[00753] Информация, связанная с предсказанием, которая генерируется при помощи секции кодирования режима предсказания, может передаваться в секцию кодирования и включаться в битовый поток.
[00754] Если в качестве группы опорных пикселей-кандидатов сконфигурировано более одного набора опорных пикселей, ниже можно выделить случай, в котором используется один набор опорных пикселей, и случай, в котором используется более двух наборов опорных пикселей.
[00755] (1) Использование одного набора опорных пикселей.
[00756] В данном примере предполагается, что, когда в качестве групп кандидатов задано множество наборов опорных пикселей, для внутреннего предсказания выбирается один набор опорных пикселей (один из ref_0, ref_1 и ref_2 на фиг. 29).
[00757] Если внутреннее предсказания выполняется с использованием одного набора опорных пикселей, может возникнуть следующая ситуация.
[00758] Блок Р предсказания может генерироваться с использованием ref*, полученного с использованием набора ref опорных пикселей и при помощи такой процедуры предварительной обработки предсказания, как генерирование опорных пикселей, фильтрация опорных пикселей и интерполяция опорных пикселей.
[00759] Например, к пикселям, расположенным в ref, применяется 5-отводная фильтрация нижних частот при помощи секции фильтрации опорных пикселей, и к пикселям, расположенным в ref' (т.е. пикселям после фильтрации опорных пикселей), применяется 6-отводная линейная интерполяционная фильтрация при помощи секции интерполяции опорных пикселей. Кроме того, блок предсказания может генерироваться с использованием ref*, полученного в вышеописанном процессе.
[00760] Ниже описана процедура предварительной обработки предсказания при использовании единственного набора опорных пикселей.
[00761] Например, при использовании набора ref_2 опорных пикселей на фиг. 29, если в качестве опорных пикселей могут быть использованы положения Ref_TL и Ref_TR, а положение Ref_T нельзя использовать как опорный пиксель, пиксели в положениях от P (0, -3) до P (n-1, -3) Ref_T могут быть сгенерированы посредством смежных пикселей в положениях от P (-1, -3) до P (n, -3) из доступных опорных пикселей и сконфигурированы как опорные пиксели.
[00762] После конфигурирования опорных пикселей при помощи вышеописанного процесса, могут быть выполнены такие компоненты, как секция фильтрации опорных пикселей и секция интерполяции опорных пикселей, перед генерированием блока предсказания.
[00763] В случае секции фильтрации опорных пикселей, фильтрация может применяться в смежных пикселях с центром на целевом пикселе, и обычно чем больше количество пикселей, которые применяются к фильтру, тем более точный эффект фильтрации (например, сглаживания, увеличения четкости и т.д.) может быть достигнут.
[00764] В случае секции интерполяции опорных пикселей, фильтрация может применяться в смежных пикселях с центром на пикселях, подлежащих интерполяции, и чем больше количество пикселей, которые применяются к фильтру, тем более точный эффект фильтрации может быть сгенерирован.
[00765] Оба эти этапа служат в качестве процесса для выполнения фильтрации, и, в зависимости от ситуаций, могут генерироваться ненужные эффекты фильтрации. То есть при применении фильтрации на каждом этапе, в случае неблагоприятных эффектов при применении фильтрации на другом этапе, также может появляться требуемый эффект.
[00766] Например, в процессе интерполяции опорных пикселей целевые десятичные пиксели интерполяции могут применять фильтрацию в смежных целочисленных пикселях, если в данном примере предполагается, что на предыдущем этапе применяется фильтрация опорных пикселей (т.е. применяется к пикселям целочисленных элементов), ошибка квантования каждого целочисленного пикселя может быть уменьшена при помощи фильтрации опорных пикселей, или также возможно создать случай, в котором ошибка квантования, напротив, дополнительно включается в интерполированный пиксель за счет использования этого пикселя в процессе интерполяции опорных пикселей.
[00767] (S1. Сглаживание Ref)
[00768] m*=v0xl'+v1xm'+v2xn'
[00769] m*=m+k1
[00770] (m - исходный пиксель, m* - фильтрованный пиксель, m' - пиксель до фильтрации, 1' и n' - смежные пиксели до выполнения фильтрации, v - коэффициент фильтра, и k1 - ошибка квантования)
[00771] (S2. Процесс интерполяции)
[00772] z*=(w0xa'+w1xb'+w2xc'+w3xd'+w4xe'+w5xf')
[00773] z*=z+k2
[00774] (z - исходный пиксель в указанном положении, z* - интерполированный пиксель; a'-f' - смежные пиксели <фильтрация не выполнена>, w - коэффициент фильтра, и k2 - ошибка квантования)
[00775] (S3. Сглаживание Ref + процесс интерполяции)
[00776] z**=(w0xa*+w1xb*+w2xc*+w3xd*+w4xe*+w5xf*)
[00777] z**=z+k3
[00778] (z - исходный пиксель в указанном положении, и z** - интерполированный пиксель; a*-f* - смежные фильтрованные пиксели, w - коэффициент фильтра, и k3 - ошибка квантования)
[00779] В приведенных выше уравнениях входным значением пикселя в процесс S1 фильтрации опорных пикселей является смежный пиксель смежного блока, для которого завершено кодирование/декодирование, и выходным значением, получаемым при помощи вышеуказанного процесса, является пиксель, имеющий высокую вероятность близости к исходному пикселю для уменьшения ошибки квантования, вносимой в ходе кодирования/декодирования.
[00780] Кроме того, входным значением пикселя в процесс S2 интерполяции опорных пикселей является смежный пиксель смежного блока, для которого завершено кодирование/декодирование, и выходным значением, получаемым при помощи вышеуказанного процесса, является пиксель, имеющий высокую вероятность близости к исходному значению пикселя в указанном положении пикселя. При помощи этого процесса взвешенное суммирование применяется к смежным пикселям смежных блоков, включающих ошибку квантования, с целью получения интерполированных пикселей (т.е. в предположении, что фильтрация для уменьшения ошибки квантования не применяется, ошибка квантования может также снижаться за счет данного процесса), и, таким образом, возможно получать пиксели, которые уменьшают ошибку квантования и являются близкими к исходному пикселю. То есть могут генерироваться не только пиксели десятичных элементов, но также может иметь место эффект секции фильтрации нижних частот.
[00781] С другой стороны, в случае S3, где процессы выполняются последовательно, необходимо учитывать, может ли сохраняться эффект, который требуется получить в процессах. То есть это связано с тем, что выполнение фильтрации (выполнение только одного или двух фильтров и т.д.), тип фильтра (использование улучшенного фильтра или немного улучшенного фильтра; то есть даже если в процессе генерируется удовлетворительный эффект, этот эффект не достигается в других процессах или, наоборот, получается неудовлетворительный эффект), добавление отвода фильтра и т.д. не обязательно гарантируют удовлетворительный эффект фильтрации.
[00782] (2) Использование большего количества наборов опорных пикселей.
[00783] В данном примере для внутреннего предсказания выбирается более двух наборов опорных пикселей (более двух из ref_1, ref_2 и ref_3 на фиг. 29), когда в качестве групп кандидатов сконфигурировано множество наборов опорных пикселей.
[00784] Если внутреннее предсказания выполняется с использованием множества наборов опорных пикселей, может возникнуть следующая ситуация.
[00785] <1> Как изображено на изображении a по фиг. 33, первый блок предсказания может генерироваться посредством набора ref_A опорных пикселей. То есть блок РА предсказания может генерироваться с использованием ref_A*, полученного с использованием ref_A и при помощи такой процедуры предварительной обработки предсказания, как генерирование опорных пикселей, фильтрация опорных пикселей и интерполяция опорных пикселей. Кроме того, блок PB предсказания может генерироваться с использованием ref_B*, полученного при помощи процедуры предварительной обработки предсказания в отношении ref_B.
[00786] Конечный блок Р предсказания может генерироваться посредством полученного множества блоков предсказания.
[00787] Например, к пикселям в ref_А применяется 3-отводная фильтрация нижних частот при помощи секции фильтрации опорных пикселей, и к пикселям в ref_А' (т.е. пикселям после фильтрации опорных пикселей) применяется 4-отводная кубическая фильтрация посредством опорных пикселей. Кроме того, к пикселям, расположенным в ref_В, применяется 5-отводная фильтрация нижних частот, и к пикселям, расположенным в ref_В' (т.е. пикселям после фильтрации опорных пикселей), может применяться 6-отводная линейная интерполяционная фильтрация.
[00788] Кроме того, каждый блок предсказания генерируется с использованием ref_A* и ref_B*, полученных при помощи вышеописанного процесса, а затем блок предсказания генерируется путем применения взвешенного среднего (например, применения высокого взвешенного значения, например, 3:1, к блоку предсказания, смежному с текущим блоком) и т.д.
[00789] <2> Как изображено на изображении b по фиг. 33, блок предсказания может генерироваться посредством наборов ref_A и ref_B опорных пикселей. В этом случае блок Р предсказания может генерироваться с использованием ref_A*, полученного с использованием ref_A и ref_В и при помощи такой процедуры предварительной обработки предсказания, как генерирование опорных пикселей, фильтрация опорных пикселей и интерполяция опорных пикселей.
[00790] Например, к пикселям, расположенным в ref_А, может применяться 3-отводная фильтрация нижних частот при помощи секции фильтрации опорных пикселей, а к пикселям, расположенным в ref_А', может применяться 4-отводная кубическая фильтрация при помощи секции интерполяции опорных пикселей. Кроме того, к пикселям, расположенным в ref_В, может применяться 5-отводная фильтрация нижних частот, а к пикселям, расположенным в ref_В', может применяться 2-отводная линейная интерполяционная фильтрация.
[00791] Кроме того, блок предсказания может генерироваться после получения ref* с использованием ref_A* и ref_B*, полученных в вышеописанном процессе. То есть после получения значений пикселей, соответствующих направленности режима внутреннего предсказания, в каждом наборе опорных пикселей (например, pa в ref_A* и pb в ref_B*) в соответствии с режимом предсказания, может быть применено взвешенное среднее (например, pa×A+pb×B) для генерирования блока предсказания.
[00792] Для генерирования блока предсказания при помощи способов <1> и <2> (<1> представляет собой способ применения взвешенного среднего между блоками предсказания после генерирования этих блоков предсказания в каждом наборе опорных пикселей, <2> представляет собой способ применения взвешенного среднего между пикселями в процессе генерирования блока предсказания; то есть получаются одинаковые или аналогичные результаты, но процесс может отличаться) может использоваться более двух наборов пикселей.
[00793] Ниже описана процедура предварительной обработки предсказания при использовании более двух наборов опорных пикселей.
[00794] Например, при использовании наборов ref_1 и ref_2 опорных пикселей на фиг. 29, если в качестве опорных пикселей могут быть использованы положения Ref_TL и Ref_TR, а положение Ref_T нельзя использовать как опорные пиксели, пиксели от P (0, -1) до P (n-1, -1) в положении Ref_T генерируются в ref_1 посредством смежных пикселей в P (-1, -1) и P (n, -1) из доступных опорных пикселей набора ref_1 опорных пикселей, и пиксели от P (0, -2) до P (n-1, -2) в положении Ref_T могут генерироваться в ref_2 посредством смежных пикселей в P (-1, -2) и P (n, -2) из доступных опорных пикселей набора ref_2 опорных пикселей.
[00795] Альтернативно блок предсказания может генерироваться с использованием доступных пикселей в ref_1 и ref_2 в положениях недоступных пикселей в ref_1, и блок предсказания также может генерироваться с использованием доступных пикселей в ref_2 и ref_1, как описано выше, в положениях недоступных пикселей в ref_2.
[00796] В случае секции фильтрации опорных пикселей, фильтрация может применяться к смежным пикселям с центром на целевом пикселе, и в случае секции интерполяции опорных пикселей фильтрация может применяться к смежным пикселям с центром на пикселе, подлежащем интерполяции.
[00797] В данном примере, как также упоминается в случае использования одного набора опорных пикселей в (1) для генерирования блока предсказания, при применениях фильтрации создаются нежелательные эффекты.
[00798] Следуя процедуре в (1), дальнейшее описание выполнено в предположении <1> в (2).
[00799] (S4. Процесс внутреннего предсказания)
[00800] P=v0xP1+v1+P2
[00801] Приведенная выше формула представляет процесс получения конечного блока предсказания путем выполнения взвешенного суммирования в отношении блоков предсказания, полученных с использованием каждого набора опорных пикселей. То есть необходимо учесть часть, относящуюся к получению блоков предсказания с использованием значений, которые получены при помощи процесса S3 в каждом наборе опорных пикселей и применения взвешенного суммирования блоков предсказания, вследствие чего возможно повысить точность блока предсказания.
[00802] Для проблем, которые необходимо учесть при помощи (1) и (2), способ может представлять собой решение, в котором в явном виде выбирается одна из множества групп кандидатов (например, в качестве группы кандидатов, связанной с фильтрацией опорных пикселей, выбирается одно из следующего: <без фильтрации, или 3-отводной фильтрации, или 5-отводной фильтрации>, в качестве группы кандидатов, связанной с интерполяцией опорных пикселей, выбирается одно из <4-отводной фильтрации или 6-отводной фильтрации>), и оптимальный способ для определения в неявном виде описан ниже.
[00803] Процесс внутреннего предсказания, в котором блок предсказания генерируется с использованием одного набора опорных пикселей или с использованием более двух наборов опорных пикселей, описан посредством следующих вариантов осуществления.
[00804] (3) Процедура предварительной обработки предсказания при использовании одного набора опорных пикселей
[00805] Как изображено на изображении a по фиг. 34, для предсказанного опорного пикселя может потребоваться временное запоминающее устройство, которое может содержать главный массив или вспомогательный массив. В данном примере предполагается, что опорные пиксели задаются главным массивом, как изображено на фигуре.
[00806] Как изображено на изображении a по фиг. 34, ref может быть заполнен пикселями из набора опорных пикселей, использованного для предсказания. В этом случае для конфигурирования ref опорные пиксели могут быть пропущены через секцию фильтрации опорных пикселей после конфигурирования или генерирования опорных пикселей, например, секцией генерирования опорных пикселей. Опорные пиксели, полученные при помощи секции фильтрации опорных пикселей, представляются как ref'. Затем опорные пиксели, полученные путем выполнения процесса интерполяции опорных пикселей в отношении ref', представляются как ref*, и блок предсказания может генерироваться с использованием ref*.
[00807] *Пиксель целочисленного элемента состоит из ref', пиксель десятичного элемента состоит из ref*, полученного путем выполнения интерполяции в отношении ref' (изображение b на фиг. 12).
[00808] Как описано в приведенном выше примере, для ref* (пиксель целочисленного элемента из ref* является таким же, как ref') процесс фильтрации опорных пикселей и процесс интерполяции опорных пикселей выполняются последовательно, так что при применении пикселя целочисленного элемента, полученного при помощи этих процессов, в интерполяции пикселей десятичных элементов вследствие повторной фильтрации может быть получен опорный пиксель с менее высокой точностью. Поэтому процесс фильтрации опорных пикселей и процесс интерполяции опорных пикселей необходимо выполнять по отдельности.
[00809] Например, фильтрация опорных пикселей может быть опущена, и может выполняться только интерполяция опорных пикселей. В этом случае пикселем целочисленного элемента, используемым для предсказания, может являться существующий смежный пиксель, к которому не применялась фильтрация опорных пикселей, и пикселем десятичного элемента может являться пиксель, полученный путем применения интерполяции к существующим смежным пикселям целочисленных элементов.
[00810] *Пиксель целочисленного элемента состоит из ref', пиксель десятичного элемента состоит из ref*, полученного путем выполнения интерполяции с использованием ref (изображение c на фиг. 34).
[00811] Альтернативно, если интерполяция выполняется в отношении пикселей десятичных элементов, в качестве опорного пикселя вместо ref' может быть использован ref. В этом случае пикселем целочисленного элемента, используемым для предсказания, может являться пиксель, к которому не применялась фильтрация опорных пикселей, и пикселем десятичного элемента может являться пиксель, к которому интерполяция применяется путем использования существующих смежных пикселей как пикселей до выполнения фильтрации опорных пикселей.
[00812] *Пиксель целочисленного элемента состоит из ref', пиксель десятичного элемента состоит из ref*, полученного путем выполнения интерполяции с использованием ref (изображение d на фиг. 34).
[00813] Количество фильтраций, применяемых к пикселям в каждом положении в ref, изображено с помощью изображений b-d на фиг. 34. На изображениях c и d на фиг. 34 изображены примеры конфигурирования опорного пикселя путем применения не более одной фильтрации.
[00814] (4) Процедура предварительной обработки предсказания при использовании более двух наборов опорных пикселей
[00815] Для простоты описания, в предположении случая <2> в (2) предшествующего примера, для генерирования блока предсказания используются два набора опорных пикселей.
[00816] После конфигурирования ref_A, при помощи секции фильтрации опорных пикселей может быть получен ref_A', и после выполнения процесса интерполяции опорных пикселей в отношении ref_A' может быть получен ref_A*. Кроме того, в случае ref_B, ref_B* может быть получен посредством ref_B', и для генерирования блока предсказания используются ref_A* и ref_B* (т.е. ref* на изображении b по фиг. 34). В этом случае блок предсказания может генерироваться с использованием пикселей целочисленных элементов или пикселей десятичных элементов в ref_A* и ref_B* в соответствии с режимом предсказания.
[00817] Как описано выше, для ref_A* и ref_B* процесс фильтрации опорных пикселей и процесс интерполяции опорных пикселей выполняются последовательно, так что при применении пикселя целочисленного элемента, полученного при помощи этих процессов, в интерполяции пикселей десятичных элементов вследствие повторной фильтрации может быть получен опорный пиксель с менее высокой точностью. Кроме того, поскольку пиксели, расположенные более чем в двух наборах опорных пикселей, дополнительно могут подвергаться фильтрации в виде взвешенного суммирования или т.п., для окончательного предсказания возможно выполнить фильтрацию в отношении пикселей слишком много раз.
[00818] Ниже изображены различные комбинации опорных пикселей для пикселей предсказания. Например, пиксели предсказания могут генерироваться с использованием двух пикселей целочисленных элементов в ref_A и ref_B в соответствии с направленностью режима предсказания (например, вертикального режима, горизонтального режима и т.д.), пиксели предсказания могут генерироваться с использованием одного пикселя целочисленного элемента и одного пикселя десятичного элемента (например, направленного режима и т.д.), и пиксели предсказания могут генерироваться с использованием двух пикселей десятичных элементов (например, направленного режима и т.д.). Это может быть подтверждено с помощью изображений b-d на фиг. 35.
[00819] В приведенном выше случае, как изображено на изображении b по фиг. 34, в предположении, что применение фильтрации к единственному набору опорных пикселей рассматривается как случай, в котором применяется средневзвешенное значение с другими наборами опорных пикселей, количество фильтраций, применяемых на изображении b на фиг. 35, может составлять 2, количество фильтраций, применяемых на изображении c на фиг. 35, может составлять 3, и количество фильтраций, применяемых на изображении d на фиг. 35, может составлять 4.
[00820] Для приведенного выше случая может быть применен следующий пример.
[00821] Например, в каждом наборе опорных пикселей фильтрация опорных пикселей может быть опущена, и может выполняться только процесс интерполяции опорных пикселей. В этом случае целочисленным элементом, используемым для предсказания, может являться существующий смежный пиксель, к которому не применялась фильтрация опорных пикселей, и пикселем десятичного элемента может являться пиксель, полученный путем применения интерполяции к существующим смежным пикселям целочисленных элементов.
[00822] В частности, в случае фильтрации опорных пикселей применение фильтрации к пикселям, аналогичным целевому пикселю, может более эффективно снижать ошибку квантования. В данном примере предсказание выполняется с использованием более двух наборов опорных пикселей, что означает, что направленность текущего блока также существует на границе блока, включающего опорный пиксель (то есть более двух наборов опорных пикселей, смежных с текущим блоком). Поэтому, как и ранее, фильтрация выполняется с использованием только ближайшего пикселя независимо от направленности режима предсказания текущего блока, что аналогично фильтрации потенциально разных пикселей на основе значений целевого пикселя и исходного пикселя.
[00823] Альтернативно процессы фильтрации опорных пикселей и интерполяции опорных пикселей могут выполняться для каждого набора опорных пикселей. Однако, как изображено на изображении b по фиг. 35, если средневзвешенное значение применяется только к пикселям целочисленных элементов, могут использоваться пиксели, к которым применена фильтрация опорных пикселей, и, как изображено на изображении c по фиг. 35, если средневзвешенное значение применяется к пикселям целочисленных элементов и пикселям десятичных элементов, используемые пиксели целочисленных элементов могут использовать пиксели, к которым фильтрация опорных пикселей не применялась.
[00824] При помощи приведенных выше примеров, процедура предварительной обработки предсказания изображена для случая, в котором используется один набор опорных пикселей, и для случая, в котором используется более двух наборов опорных пикселей.
[00825] В приведенных выше примерах, несмотря на то что некоторые случаи описаны в случае, когда предполагается, что неблагоприятные эффекты появляются по причине повторного использования фильтра, он не может определять только одну характеристику изображения, и могут существовать другие варианты.
[00826] Например, для случаев (3) и (4) он может использоваться или фиксированным образом (например, независимо от такого состояния, как форма и размер текущего блока и режим предсказания), или адаптивно (например, определяться в соответствии с состоянием текущего блока).
[00827] В случае адаптивного использования (3) и (4), настройки в (3) и (4) могут применяться полностью или частично, и в некоторых случаях может быть также модифицирован или применен противоположный пример.
[00828] В качестве примера, в некоторых режимах (например, вертикальном, горизонтальном, диагональном режимах с углами 45 градусов, 135 градусов и т.д.) случая (3) может выполняться 5-отводная фильтрация нижних частот. В этом примере, поскольку процесс интерполяции в десятичных элементах не требуется, для уменьшения ошибки квантования может выполняться точная фильтрация (в предположении, что в данном примере фильтрация является более точной при большем количестве отводов).
[00829] Альтернативно, в некоторых режимах (например, направленном режиме и т.д.) в (3) может выполняться 3-отводная фильтрация нижних частот и 6-отводная гауссова интерполяционная фильтрация. В данном примере требуется процесс интерполяции десятичных элементов, и простая фильтрация может выполняться путем применения фильтрации к пикселям целочисленных элементов (например, в предположении, что в следующих случаях фильтрация является более простой, то есть типы фильтров отличаются, количество пикселей, к которым применяется фильтр, уменьшается, и количество отводов является небольшим) для уменьшения ошибок квантования множества фильтраций (в данном примере фильтрация опорных пикселей применяется к пикселям целочисленных элементов, и фильтрация применяется тогда, когда эти пиксели используются для интерполяции пикселей десятичных элементов). То есть может иметь место случай, как b на фиг. 34 (хотя и описанный как существующий случай при описании изображения b на фиг. 12, в данном примере описано, что случай b может быть применен вместо случаев c и d на фиг. 34).
[00830] В качестве примера, в (3) в случае блока (например, 32×32), который больше предварительно определенного размера, может выполняться 5-отводная фильтрация нижних частот и может выполняться 4-отводная кубическая интерполяционная фильтрация, но пиксели, применяемые при интерполяции, могут включать пиксели до фильтрации нижних частот (т.е. пиксели целочисленных элементов) как входные пиксели. Кроме того, в случае блока, который меньше предварительно определенного размера, выполняются те же процессы фильтрации опорных пикселей и интерполяции опорных пикселей, которые идентичны вышеописанному процессу, однако пиксели, применяемые при интерполяции, могут включать пиксели после фильтрации нижних частот как входные пиксели.
[00831] В качестве примера, в некоторых режимах (например, вертикальном, горизонтальном и т.д.) в (4) может выполняться 5-отводная фильтрация нижних частот в отношении каждого набора опорных пикселей (т.е. с использованием более точного фильтра, чем при использовании 3-отводного фильтра в других направленных режимах или использовании других типов фильтров, даже если они содержат такое же количество отводов). В данном примере, поскольку интерполяция не требуется, фильтрация может быть выполнена для уменьшения ошибки квантования. Альтернативно, 5-отводная фильтрация нижних частот может выполняться в отношении набора опорных пикселей, смежного с текущим блоком, а в отношении следующего смежного набора опорных пикселей может выполняться 3-отводная фильтрация нижних частот. В данном примере в отношении набора опорных пикселей может быть выполнена точная фильтрация (в данном примере предполагается, что взвешенные значения добавляются к пикселям вблизи текущего блока). Набор опорных пикселей присваивает более высокие взвешенные значения более чем двум наборам опорных пикселей. Альтернативно 5-отводная фильтрация нижних частот выполняется в отношении набора опорных пикселей, смежного с текущим блоком, а в отношении следующего смежного набора опорных пикселей фильтрация нижних частот не выполняется. Понятно, что в данном примере за счет центрирования на пикселях из набора опорных пикселей, имеющего более высокое взвешенное значение, фильтрация нижних частот применяется к пикселям, смежным с набором опорных пикселей, к которому принадлежит пиксель, и к пикселям, смежным с пикселем в других наборах опорных пикселей (т.е., если случаем согласно известному уровню техники является одномерная фильтрация, в данном примере понятно, что имеет место двумерная фильтрация).
[00832] Кроме того, в некоторых режимах (например, направленном режиме и т.д.) в (4) 3-отводная фильтрация нижних частот выполняется в отношении каждого набора опорных пикселей, 8-отводная кубическая интерполяционная фильтрация выполняется в отношении набора опорных пикселей, смежного с текущим блоком, и 2-отводная линейная интерполяционная фильтрация может выполняться в отношении следующего смежного набора опорных пикселей. Альтернативно, вместо выполнения фильтрации нижних частот в отношении каждого набора опорных пикселей 6-отводная гауссова интерполяционная фильтрация выполняется в отношении набора опорных пикселей, смежного с текущим блоком, и 4-отводная гауссова интерполяционная фильтрация может выполняться в отношении следующего смежного набора опорных пикселей. Альтернативно 5-отводная фильтрация нижних частот может выполняться в отношении набора опорных пикселей, смежного с текущим блоком, 3-отводная фильтрация нижних частот может выполняться в отношении следующего смежного набора опорных пикселей, и 4-отводная кубическая интерполяционная фильтрация может выполняться в отношении каждого набора опорных пикселей. Альтернативно 3-отводная фильтрация нижних частот выполняется в отношении набора А опорных пикселей, смежного с текущим блоком, фильтрация нижних частот не выполняется в отношении следующего смежного набора B опорных пикселей, 8-отводная гауссова интерполяционная фильтрация выполняется в отношении набора А опорных пикселей, смежного с текущим блоком, и 4-отводная кубическая интерполяционная фильтрация выполняется в отношении следующего смежного набора B опорных пикселей.
[00833] В качестве примера, в (4) в случае блока, имеющего предварительно определенный или больший размер (например, 64×64), 4-отводная кубическая интерполяционная фильтрация может выполняться без выполнения фильтрации нижних частот в отношении каждого набора опорных пикселей. Кроме того, в блоке, который меньше предварительно заданного размера и больше предварительно заданного или большего размера (например, 16×16-64×64), 3-отводная фильтрация нижних частот, а также 4-отводная гауссова интерполяционная фильтрация выполняются для каждого набора опорных пикселей, но когда пиксели для взвешенного усреднения состоят только из набора пикселей целочисленных элементов, используются пиксели после фильтрации нижних частот, а когда пиксели для взвешенного усреднения состоят из комбинации целочисленных элементов и десятичных элементов, пиксели целочисленных элементов могут использовать пиксели до фильтрации нижних частот. Кроме того, в блоке, который меньше предварительно заданного размера (16×16), для каждого набора опорных пикселей выполняется 5-отводная фильтрация нижних частот и 6-отводная кубическая интерполяционная фильтрация, и пиксели для взвешенного усреднения, вне зависимости от того, являются они целочисленными элементами или десятичными элементами, могут использовать пиксели после фильтрации нижних частот.
[00834] Согласно приведенному выше примеру, изображены различные случаи, в которых используется один набор опорных пикселей, и используется более двух наборов опорных пикселей, и т.д.
[00835] В отношении процедуры предварительной обработки предсказания может выполняться обработка в явном виде. То есть возможно сгенерировать один вид информации о выборе в отношении использования одного набора опорных пикселей или использования большего количества опорных пикселей, также возможно генерировать другой вид информации о выборе в отношении того, что для настроек фильтрации опорных пикселей фильтрация не выполняется, или фильтрация выполняется с использованием фильтра А или фильтра B, и возможно сгенерировать еще один вид информации о выборе в отношении использования фильтра А или фильтра B для настроек интерполяции опорных пикселей.
[00836] Альтернативно в отношении процедуры предварительной обработки предсказания может выполняться обработка в неявном виде. То есть количество наборов опорных пикселей, настройки фильтрации опорных пикселей и настройки интерполяции опорных пикселей, описанные выше, могут быть определены в неявном виде в соответствии с такой информацией о кодировании (состояниями), как размер блока, форма блока и режим предсказания. В этом случае, если количество наборов опорных пикселей определено как равное двум или более, может быть в неявном виде определено, что такая же настройка фильтрации опорных пикселей или интерполяции опорных пикселей или другая настройка выполняется в отношении множества наборов опорных пикселей.
[00837] Альтернативно в отношении процедуры предварительной обработки предсказания может выполняться смешанная обработка. То есть в некоторых случаях может выполняться обработка в неявном виде, и в других случаях может выполняться обработка в явном виде. В этом случае в соответствии с информацией о кодировании может быть определена ссылка на смешанную обработку. То есть обработка в неявном виде или обработка в явном виде может быть определена в соответствии с комбинацией по меньшей мере одного или более из определенного размера или формы блока или режима предсказания.
[00838] В настоящем описании будет описан случай обработки в неявном виде или смешанной обработки. Для обоих процессов настройка внутреннего предсказания может быть сконфигурирована на основе информации о кодировании (например, о предварительной обработке предсказания и т.д., которая была описана выше как имеющая адаптивную конфигурацию только при предварительной обработке предсказания, но которая также имеет адаптивную конфигурацию в других процессах внутреннего предсказания <группа режимов-кандидатов внутреннего предсказания конфигурируется в следующем содержимом, то есть определяется из такой информации о кодировании, как количество режимов внутреннего предсказания и направление предсказания>).
[00839] Указанное содержимое скомпоновано следующим образом.
[00840] (Кодер)
[00841] <1> Подтверждаются размер и форма текущего блока
[00842] - Настройка группы режимов-кандидатов внутреннего предсказания (т.е. определение количества режимов, углов и т.д., которое может быть опущено, если имеется одна группа кандидатов)
[00843] <2> Подтверждаются размер, форма и режим предсказания текущего блока (в этот момент режим предсказания определяется посредством группы режимов-кандидатов внутреннего предсказания, определенной в вышеупомянутом процессе)
[00844] - Настройка набора опорных пикселей (т.е. использование одного или более двух наборов)
[00845] - Настройка фильтрации опорных пикселей (если имеется более двух наборов опорных пикселей, настройка фильтрации может быть определена в каждом наборе опорных пикселей)
[00846] - Настройка интерполяции опорных пикселей (аналогично, если имеется более двух наборов опорных пикселей, настройки интерполяции могут быть определены в каждом наборе)
[00847] <3> Кодирование информации, связанной с внутренним предсказанием (если информация о выборе генерируется вследствие присутствия множества групп кандидатов в режиме предсказания и настройках вышеуказанного процесса, эта информация также включается в информацию о внутреннем предсказании).
[00848] (Декодирование)
[00849] <1> Подтверждаются размер и форма текущего блока (на предыдущем этапе информация о блоке анализируется секцией разделения блока, и связанная информация подтверждается)
[00850] - Настройка группы режимов-кандидатов внутреннего предсказания (информация о режиме предсказания анализируется и восстанавливается в соответствии с группой кандидатов)
[00851] <2> Подтверждаются размер, форма и режим предсказания текущего блока
[00852] - Настройка опорных пикселей
[00853] - Настройка фильтрации опорных пикселей
[00854] - Настройка интерполяции опорных пикселей
[00855] <3> Декодирование информации, связанной с внутренним предсказанием (режима предсказания и другой, необязательной информации; можно считать, что на данном этапе выполняется анализ этой информации).
[00856] В кодере группа режимов-кандидатов внутреннего предсказания может подтверждаться в соответствии с состоянием текущего блока. То есть определяется, какая группа кандидатов используется, и определенная группа кандидатов содержит конкретное количество режимов и конкретные конфигурации режимов. Подтверждение является тривиальным, если все условия групп режимов-кандидатов внутреннего предсказания являются одинаковыми, но подтверждение требуется, если используется более двух групп режимов-кандидатов внутреннего предсказания. То есть то, какая группа кандидатов используется, можно узнать в соответствии с состоянием текущего блока, или то, какая группа кандидатов используется, можно узнать в явном виде при помощи информации.
[00857] Номера режимов предсказания и т.п. присваиваются в соответствии с указанным процессом, но если группы режимов-кандидатов предсказания отличаются, направления или углы и т.п. каждого режима предсказания отличаются в соответствии с группами кандидатов, и поэтому может потребоваться процесс унификации групп кандидатов. То есть №50 при использовании режима предсказания на фиг. 9 может представлять собой вертикальный режим, однако №50 в другой группе режимов-кандидатов предсказания не обязательно является вертикальным режимом, поэтому требуется подтверждение.
[00858] Поэтому в настоящем документе описано, что операции, настройки и т.д. изменяются в зависимости от типа режима предсказания.
[00859] Например, когда для определения выполнения обработки внутреннего предсказания (например, интерполяции опорных пикселей, фильтрации опорных пикселей и т.д.) используется условное предложение «if (intramode==Vertical)», если «intramode» представляет собой № 50, и используется группа режимов-кандидатов предсказания, он может быть прямо определен для выполнения обработки внутреннего предсказания, но поскольку необходимо знать тип режима в группе режимов-кандидатов внутреннего предсказания (направленный режим или ненаправленный режим; если он является направленным режимом, определяется, принадлежит ли он к вертикальному или горизонтальному режиму, и если он не является направленным режимом, определяется, имеется ли направленный режим для генерирования блока предсказания только с использованием целочисленных пикселей и т.д.), он может быть введен в условное предложение после подтверждения направления вышеупомянутого режима в группе режимов-кандидатов предсказания. То есть, если (intramode<x>==Vertical), его следует изменить на такой процесс, что режим х является вертикальным в группе режимов-кандидатов внутреннего предсказания режима х.
[00860] Кроме того, для подтверждения настроек внутреннего предсказания необходимо подтвердить состояние текущего блока. В этом случае состояние текущего блока может быть определено в соответствии с по меньшей мере одним или более из размера, формы, режима предсказания и т.д. текущего блока. Набор опорных пикселей, фильтрация опорных пикселей, интерполяция опорных пикселей и т.д. задаются в соответствии с состоянием текущего блока. То есть может быть определено количество наборов опорных пикселей, то, какой набор опорных пикселей использовать, применять ли фильтрацию опорных пикселей, и какой использовать фильтр. Если связанная информация определяется в явном виде, может генерироваться флаг. Если связанная информация определена в неявном виде, она может быть определена в соответствии с информацией о кодировании (вышеописанное состояние текущего блока или тип <I/P/B> текущего изображения, текущее изображение <Y/Cb/Cr> и т.д., которые могут оказывать влияние на настройки внутреннего предсказания).
[00861] Несмотря на то что настоящее изобретение было описано с сосредоточением на наборе опорных пикселей, фильтрации опорных пикселей и интерполяции опорных пикселей, также могут быть включены другие настройки, связанные с внутренним предсказанием. Например, в процессе предсказания, как и ранее, в соответствии с информацией о кодировании также может быть определено, что блок предсказания генерируется с использованием (экстраполированных, усредненных и интерполированных) опорных пикселей в соответствии с режимом предсказания, или для генерирования блока предсказания и т.д. используются другие опорные пиксели, отличные от опорных пикселей, использованных в соответствии с существующей направленностью (например, с целью коррекции соответствующих пикселей предсказания в соответствии с положением пикселя предсказания поправочное значение генерируется путем дополнительного использования других опорных пикселей, а затем добавляется к существующему значению предсказания и т.д.), и т.д. В этом случае, если связанная информация определяется в явном виде, она также может быть известна посредством связанной информации об использованном способе предсказания, иначе, в случае неявного определения связанной информации, то, какой способ предсказания использовать, может быть определено посредством состояния текущего блока или т.п.
[00862] В декодере связанное с ним описание может быть получено в обратном порядке относительно содержимого кодера. В случае явной части, связанная информация подвергается анализу. В случае неявной части, связанная информация определяется в соответствии с информацией о кодировании и т.д.
[00863] В приведенном выше описании настройка фильтрации опорных пикселей и настройка интерполяции опорных пикселей могут быть определены с учетом содержимого изменения настройки с количеством наборов опорных пикселей, используемых в настоящем описании.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
[00864] Настоящее изобретение может быть применено для кодирования/декодирования сигнала изображения.
Изобретение относится к технологии кодирования и декодирования изображения и в частности к способу и устройству для кодирования/декодирования внутреннего предсказания. Технический результат заключается в повышении эффективности сжатия изображений. Предложено устройство для внутрифреймового предсказания, выполненное с возможностью получения режима внутрифреймового предсказания текущего блока, определения среди множества линий пикселей линии пикселей для внутрифреймового предсказания текущего блока и осуществления внутрифреймового предсказания текущего блока на основе режима внутрифреймового предсказания и линии пикселей. Кроме того, первый опорный пиксель определенной линии пикселей может быть выборочно подвергнут фильтрации, и пиксель предсказания текущего блока может быть выборочно подвергнут коррекции, и, таким образом, может быть повышена точность внутрифреймового предсказания. Дополнительно выполняют интерполяцию опорных пикселей при помощи предварительно заданного интерполяционного фильтра или одной из множества групп интерполяционных фильтров-кандидатов. 6 з. и 12 з.п. ф-лы, 35 ил., 8 табл.
1. Способ внутреннего предсказания, применяемый к устройству декодирования и включающий:
получение режима внутреннего предсказания текущего блока;
определение линии пикселей для внутреннего предсказания текущего блока среди множества линий пикселей; и
выполнение внутреннего предсказания текущего блока на основании режима внутреннего предсказания и определенной линии пикселей,
при этом способ дополнительно включает:
выполнение интерполяции опорных пикселей при помощи предварительно заданного интерполяционного фильтра или одной из множества групп интерполяционных фильтров-кандидатов;
при этом при использовании одной из множества групп фильтров-кандидатов определяют информацию о выборе фильтра на основании предварительно заданных параметров настройки декодирования, включающих по меньшей мере одно из точности интерполяции, размера блока или режима предсказания.
2. Способ внутреннего предсказания по п. 1, отличающийся тем, что
когда множество групп фильтров-кандидатов включает 4-отводный кубический фильтр и 4-отводный гауссов фильтр, определено, что используют интерполяционный фильтр, применяемый в соответствии с настройками кодирования/декодирования.
3. Способ внутреннего предсказания по п. 1, отличающийся тем, что
линия пикселей представляет собой линию опорных пикселей, и линию пикселей определяют на основании размера и формы текущего блока.
4. Способ внутреннего предсказания по п. 1, отличающийся тем, что дополнительно включает:
выполнение фильтрации в отношении первого опорного пикселя определенной линии пикселей.
5. Способ внутреннего предсказания по п. 4, отличающийся тем, что
фильтрацию выполняют выборочно на основании первого флага, указывающего, фильтруется ли первый опорный пиксель для внутреннего предсказания.
6. Способ внутреннего предсказания по п. 5, отличающийся тем, что
первый флаг получают из устройства декодирования на основании параметра кодирования текущего блока, и
параметр кодирования включает по меньшей мере одно из размера блока, типа компонента цвета, режима внутреннего предсказания или того, применяется ли внутреннее предсказание в элементах подблоков.
7. Способ внутреннего предсказания по любому из пп. 1-6, отличающийся тем, что
внутреннее предсказание выполняют в элементах подблоков текущего блока, и
подблоки определяют на основании по меньшей мере одного из флага, указывающего, следует ли выполнять разделение, информации о направлении разделения или информации о количестве разделений.
8. Способ внутреннего предсказания, применяемый к устройству кодирования и включающий:
получение режима внутреннего предсказания текущего блока;
определение линии пикселей для внутреннего предсказания текущего блока среди множества линий пикселей; и
выполнение внутреннего предсказания текущего блока на основании режима внутреннего предсказания и определенной линии пикселей,
при этом способ дополнительно включает:
выполнение интерполяции опорных пикселей при помощи предварительно заданного интерполяционного фильтра или одной из множества групп интерполяционных фильтров-кандидатов;
при этом при использовании одной из множества групп фильтров-кандидатов определяют информацию о выборе фильтра на основании предварительно заданных параметров настройки декодирования, включающих по меньшей мере одно из точности интерполяции, размера блока или режима предсказания.
9. Способ внутреннего предсказания по п. 8, отличающийся тем, что
когда множество групп фильтров-кандидатов включает 4-отводный кубический фильтр и 4-отводный гауссов фильтр, определено, что используют интерполяционный фильтр, применяемый в соответствии с настройками кодирования/декодирования.
10. Способ внутреннего предсказания по п. 8, отличающийся тем, что
линия пикселей представляет собой линию опорных пикселей, и линию пикселей определяют на основании размера и формы текущего блока.
11. Способ внутреннего предсказания по п. 8, отличающийся тем, что дополнительно включает:
выполнение фильтрации в отношении первого опорного пикселя определенной линии пикселей.
12. Способ внутреннего предсказания по п. 11, отличающийся тем, что
фильтрацию выполняют выборочно на основании первого флага, указывающего, фильтруется ли первый опорный пиксель для внутреннего предсказания.
13. Способ внутреннего предсказания по п. 12, отличающийся тем, что дополнительно включает:
кодирование первого флага на основании параметра кодирования текущего блока и включение в битовый поток, и
параметр кодирования включает по меньшей мере одно из размера блока, типа компонента цвета, режима внутреннего предсказания или того, применяется ли внутреннее предсказание в элементах подблоков.
14. Способ внутреннего предсказания по любому из пп. 8-13, отличающийся тем, что
внутреннее предсказание выполняют в элементах подблоков текущего блока, и
подблоки определяют на основании по меньшей мере одного из флага, указывающего, следует ли выполнять разделение, информации о направлении разделения или информации о количестве разделений.
15. Устройство декодирования, содержащее:
секцию декодирования режима предсказания, выполненную с возможностью получения режима внутреннего предсказания текущего блока;
секцию конфигурирования опорных пикселей, выполненную с возможностью определения линии пикселей для внутреннего предсказания текущего блока среди множества линий пикселей;
секцию генерирования блока предсказания, выполненную с возможностью выполнения внутреннего предсказания текущего блока на основании режима внутреннего предсказания и определенной линии пикселей; и
секцию интерполяции опорных пикселей, выполненную с возможностью выполнения интерполяции опорных пикселей при помощи предварительно заданного интерполяционного фильтра или одной из множества групп интерполяционных фильтров-кандидатов;
при этом при использовании одной из множества групп фильтров-кандидатов определяют информацию о выборе фильтра на основании предварительно заданных параметров настройки декодирования, включающих по меньшей мере одно из точности интерполяции, размера блока или режима предсказания.
16. Устройство кодирования, содержащее:
секцию определения режима предсказания, выполненную с возможностью получения режима внутреннего предсказания текущего блока;
секцию конфигурирования опорных пикселей, выполненную с возможностью определения линии пикселей для внутреннего предсказания текущего блока среди множества линий пикселей;
секцию генерирования блока предсказания, выполненную с возможностью выполнения внутреннего предсказания текущего блока на основании режима внутреннего предсказания и определенной линии пикселей; и
секцию интерполяции опорных пикселей, выполненную с возможностью выполнения интерполяции опорных пикселей при помощи предварительно заданного интерполяционного фильтра или одной из множества групп интерполяционных фильтров-кандидатов;
при этом при использовании одной из множества групп фильтров-кандидатов определяют информацию о выборе фильтра на основании предварительно заданных параметров настройки декодирования, включающих по меньшей мере одно из точности интерполяции, размера блока или режима предсказания.
17. Вычислительное устройство, содержащее запоминающее устройство и программу, при этом
запоминающее устройство выполнено с возможностью хранения программы, исполняемой процессором; и
процессор выполнен с возможностью реализации при исполнении программы способа внутреннего предсказания по любому из пп. 1-7 или способа внутреннего предсказания по любому из пп. 8-14.
18. Компьютерный носитель данных, на котором хранится программа, которая при ее исполнении реализует способ внутреннего предсказания по любому из пп. 1-7 или способ внутреннего предсказания по любому из пп. 8-14.
WO 2018016823 A1, 2018-01-25 | |||
WO 2017190288 A1, 2017-11-09 | |||
US 2015023405 A1, 2015-01-22 | |||
RUJUN WE et al | |||
Improved Intra Angular Prediction with Novel Interpolation Filter and Boundary Filter, 2016 Picture Coding Symposium (PCS), December 2016 | |||
US 2018091825 A1, 2018-03-29 | |||
WO 2018016823 A1, 2018-01-25 | |||
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2651183C2 |
AMIR SAID et al |
Авторы
Даты
2024-03-25—Публикация
2019-06-25—Подача