СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ ВИДЕО И СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ВИДЕО
VIDEO ENCODING METHOD AND DEVICE AND VIDEO DECODING METHOD AND DEVICE

Область техники
[0001] Раскрытие относится к способу и устройству декодирования видео и способу и устройству кодирования видео и, более конкретно, к кодированию и декодированию режима интра-предсказания текущего блока с использованием информации режима интра-предсказания смежного блока.
Предшествующий уровень техники
[0002] Данные изображения кодируются посредством предопределенного кодека, соответствующего стандарту сжатия данных, например, стандарту Экспертной группы по движущимся изображениям (MPEG), и затем сохраняются в носителе записи или передаются через канал связи в форме битового потока. В последнее время, вследствие развития инфраструктур проводной/беспроводной связи, включая 5-е поколение (5G), существует возрастающая потребность в технологии для эффективного сжатия медиа следующего поколения, таких как 4K/8K видео сверхвысокой четкости (UHD), 360-градусное видео, изображения виртуальной реальности (VR) и тому подобное, в дополнение к существующим носителям изображения.
Описание вариантов осуществления
Техническая проблема
[0003] Когда число режимов интра-предсказания, подлежащих использованию в интра-предсказании, увеличивается, объем информации, требуемой для представления режимов интра-предсказания, может увеличиваться.
Решение проблемы
[0004] В соответствии с различными вариантами осуществления, режимы интра-предсказания кандидата, имеющие высокую вероятность быть режимом интра-предсказания текущего блока, определяются с использованием информации режима предсказания смежных блоков текущего блока, и режим интра-предсказания текущего блока кодируется и декодируется с использованием режимов интра-предсказания кандидата.
Полезные результаты раскрытия
[0005] В соответствии с различными вариантами осуществления, количество битов, требуемых для представления информации режима интра-предсказания текущего блока, может быть уменьшено.
Краткое описание чертежей
[0006] Фиг. 1A представляет собой блок-схему устройства декодирования изображения, в соответствии с различными вариантами осуществления.
[0007] Фиг. 1B иллюстрирует блок-схему последовательности операций способа декодирования изображения в соответствии с вариантом осуществления.
[0008] Фиг. 1C иллюстрирует блок-схему последовательности операций способа декодирования изображения в соответствии с другим вариантом осуществления.
[0009] Фиг. 1D представляет собой блок-схему декодера изображения в соответствии с различными вариантами осуществления.
[0010] Фиг. 1E представляет собой блок-схему устройства декодирования изображения в соответствии с различными вариантами осуществления.
[0011] Фиг. 2A представляет собой блок-схему устройства кодирования изображения, в соответствии с различными вариантами осуществления.
[0012] Фиг. 2B иллюстрирует блок-схему последовательности операций способа кодирования изображения в соответствии с вариантом осуществления.
[0013] Фиг. 2C иллюстрирует блок-схему последовательности операций способа кодирования изображения в соответствии с другим вариантом осуществления.
[0014] Фиг. 2D представляет собой блок-схему кодера изображения в соответствии с различными вариантами осуществления.
[0015] Фиг. 2E представляет собой блок-схему устройства кодирования изображения в соответствии с вариантом осуществления.
[0016] Фиг. 3 иллюстрирует выполняемый устройством декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения текущей единицы кодирования, в соответствии с вариантом осуществления.
[0017] Фиг. 4 иллюстрирует выполняемый устройством декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения неквадратной единицы кодирования, в соответствии с вариантом осуществления.
[0018] Фиг. 5 иллюстрирует выполняемый устройством декодирования изображения процесс разделения единицы кодирования на основе по меньшей мере одной из информации формы блока и информации режима разделенной формы, в соответствии с вариантом осуществления.
[0019] Фиг. 6 иллюстрирует выполняемый устройством декодирования изображения процесс определения предопределенной единицы кодирования из нечетного числа единиц кодирования, в соответствии с вариантом осуществления.
[0020] Фиг. 7 иллюстрирует порядок обработки множества единиц кодирования, когда устройство декодирования изображения определяет множество единиц кодирования путем разделения текущей единицы кодирования, в соответствии с вариантом осуществления.
[0021] Фиг. 8 иллюстрирует выполняемый устройством декодирования изображения процесс определения, что текущая единица кодирования подлежит разделению на нечетное число единиц кодирования, когда единицы кодирования не могут быть обработаны в предопределенном порядке, в соответствии с вариантом осуществления.
[0022] Фиг. 9 иллюстрирует выполняемый устройством декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения первой единицы кодирования, в соответствии с вариантом осуществления.
[0023] Фиг. 10 иллюстрирует, что форма, в которую может разделяться вторая единица кодирования, ограничена, когда вторая единица кодирования, имеющая неквадратную форму, которая определяется по мере того как устройство декодирования изображения разделяет первую единицу кодирования, удовлетворяет предопределенному условию, в соответствии с вариантом осуществления.
[0024] Фиг. 11 иллюстрирует процесс, выполняемый устройством декодирования изображения, разделения квадратной единицы кодирования, когда информация режима разделенной формы указывает, что квадратная единица кодирования не подлежит разделению на четыре квадратные единицы кодирования, в соответствии с вариантом осуществления.
[0025] Фиг. 12 иллюстрирует, что порядок обработки между множеством единиц кодирования может изменяться в зависимости от процесса разделения единицы кодирования, в соответствии с вариантом осуществления.
[0026] Фиг. 13 иллюстрирует процесс определения глубины единицы кодирования по мере того, как форма и размер единицы кодирования изменяются, когда единица кодирования рекурсивно разделяется, так что определяется множество единиц кодирования, в соответствии с вариантом осуществления.
[0027] Фиг. 14 иллюстрирует глубины, которые могут быть определены на основе форм и размеров единиц кодирования, и индексы части (PID), которые служат для различения единиц кодирования, в соответствии с вариантом осуществления.
[0028] Фиг. 15 иллюстрирует, что множество единиц кодирования определяются на основе множества предопределенных единиц данных, включенных в картинку, в соответствии с вариантом осуществления.
[0029] Фиг. 16 иллюстрирует блок обработки, служащий в качестве критерия для определения порядка определения опорных единиц кодирования, включенных в картинку, в соответствии с вариантом осуществления.
[0030] Фиг. 17 иллюстрирует режимы интра-предсказания в соответствии с вариантом осуществления.
[0031] Фиг. 18 иллюстрирует режимы интра-предсказания в соответствии с другим вариантом осуществления.
[0032] Фиг. 19 представляет собой диаграмму для описания режимов интра-предсказания, подлежащих применению к неквадратной форме, в соответствии с различными вариантами осуществления.
[0033] Фиг. 20 представляет собой опорную диаграмму для описания процесса получения списка наиболее вероятных режимов (MPM) с использованием информации режима предсказания смежного блока, в соответствии с различными вариантами осуществления.
[0034] Фиг. 21 представляет собой блок-схему последовательности операций процесса генерации списка MPM в соответствии с вариантом осуществления.
[0035] Фиг. 22 представляет собой диаграмму опорной выборки в соответствии с вариантом осуществления.
[0036] Фиг. 23 представляет собой опорную диаграмму для описания способа представления режима интра-предсказания как вектора, в соответствии с другим вариантом осуществления.
[0037] Фиг. 24A-24C представляют собой опорные диаграммы для описания порядка приоритетов режимов интра-предсказания смежных блоков, включенных в список MPM, с учетом размеров текущего блока и смежных блоков.
[0038] Фиг. 25 представляет собой диаграмму, иллюстрирующую смежные блоки текущего блока, которые используются в списке MPM, в соответствии с другим вариантом осуществления.
[0039] Фиг. 26 представляет собой опорную диаграмму, иллюстрирующую схему генерации списка MPM при параллельной обработке, в соответствии с вариантом осуществления.
[0040] Фиг. 27 иллюстрирует поисковую таблицу, показывающую отношения отображения между индексами (predModeIntra) режимов интра-предсказания и угловыми параметрами (IntraPredAngle) в соответствии с режимами интра-предсказания, в соответствии с вариантом осуществления.
[0041] Фиг. 28 иллюстрирует поисковую таблицу, показывающую отношения отображения между индексами (predModeIntra) режимов интра-предсказания и угловыми параметрами (IntraPredAngle) в соответствии с режимами интра-предсказания, в соответствии с другим вариантом осуществления.
[0042] Фиг. 29 представляет собой опорную диаграмму для описания угловых параметров IntraPredAngle, относящихся к направлениям режима интра-предсказания, в соответствии с вариантами осуществления.
Лучший режим осуществления изобретения
[0043] В соответствии с вариантом осуществления, способ декодирования видео включает в себя: определение, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком; когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, получение, из битового потока, информации индекса режима интра-предсказания, указывающей один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания; определение режима интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания; и выполнение интра-предсказания на текущем блоке с использованием режима интра-предсказания текущего блока.
[0044] В соответствии с вариантом осуществления, информация кодирования может включать в себя информацию опорной выборки, подлежащую использованию в интра-предсказании касательно текущего блока, и информацию под-разбиения, указывающую, подлежит ли текущий блок разделению на под-разбиения, когда информация опорной выборки указывает, что смежный пиксел, который не является непосредственно смежным с текущим блоком, подлежит использованию в качестве опорной выборки текущего блока, или информация под-разбиения указывает, что текущий блок подлежит разделению на под-разбиения, режим интра-предсказания текущего блока определяется из списка кандидатов режима интра-предсказания, когда информация опорной выборки указывает, что смежный пиксел, который является непосредственно смежным с текущим блоком, подлежит использованию в качестве опорной выборки текущего блока, и информация под-разбиения указывает, что текущий блок не подлежит разделению на под-разбиения, информацию флага списка кандидатов режима интра-предсказания получают из битового потока, причем информация флага списка кандидатов режима интра-предсказания указывает, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком.
[0045] В соответствии с вариантом осуществления, получение информации индекса режима интра-предсказания из битового потока может включать в себя получение информации не-углового режима интра-предсказания, указывающей, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом интра-предсказания, и когда информация не-углового режима интра-предсказания не указывает конкретный не-угловой режим интра-предсказания, получение информации индекса режима интра-предсказания из битового потока.
[0046] В соответствии с вариантом осуществления, конкретный не-угловой режим интра-предсказания может представлять собой одно из режима DC и планарного режима.
[0047] В соответствии с вариантом осуществления, когда информация не-углового режима интра-предсказания указывает конкретный не-угловой режим интра-предсказания, режим интра-предсказания текущего блока может определяться как конкретный не-угловой режим интра-предсказания.
[0048] В соответствии с вариантом осуществления, когда режим интра-предсказания текущего блока не определяется из списка кандидатов режима интра-предсказания, информация режима интра-предсказания текущего блока может быть получена из битового потока.
[0049] В соответствии с вариантом осуществления, список кандидатов режима интра-предсказания может включать в себя предопределенное число режимов интра-предсказания кандидатов, определенных с использованием режима предсказания смежного блока, смежного на правой стороне текущего блока, и режима предсказания смежного блока, смежного на верхней стороне текущего блока.
[0050] В соответствии с вариантом осуществления, устройство декодирования видео включает в себя: память и по меньшей мере один процессор, соединенный с памятью и сконфигурированный, чтобы
[0051] определять, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком; когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, получать, из битового потока, информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания; определять режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания; и выполнять интра-предсказание на текущем блоке с использованием режима интра-предсказания текущего блока.
[0052] В соответствии с вариантом осуществления, способ кодирования видео включает в себя: определение режима интра-предсказания текущего блока; определение, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком; и когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, генерацию битового потока, включающего в себя информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания.
Режим раскрытия
[0053] Преимущества и свойства вариантов осуществления и способов их выполнения могут стать более понятными со ссылкой на варианты осуществления и прилагаемые чертежи. В этом отношении, раскрытие может иметь разные формы и не должно пониматься как ограниченное вариантами осуществления, изложенными здесь. Напротив, эти варианты осуществления обеспечены так, что настоящее раскрытие будет тщательным и полным и будет полностью соответствовать концепции раскрытия для специалиста в данной области техники.
[0054] Термины, используемые в спецификации, будут определены кратко, и варианты осуществления будут описаны подробно.
[0055] Все термины, включая описательные или технические термины, которые используются в спецификации, должны пониматься как имеющие значения, которые очевидны специалисту в данной области техники. Однако термины могут иметь разные значения в соответствии с намерением специалиста в данной области техники, предшествующими случаями или появлением новых технологий. Также, некоторые термины могут произвольно выбираться заявителем, и в этом случае, значения выбранных терминов будут описаны подробно в подробном описании раскрытия. Поэтому, термины, используемые в раскрытии, не должны интерпретироваться на основе только их названий, но должны определяться на основе значения терминов вместе с описаниями на всем протяжении спецификации.
[0056] В последующей спецификации, формы единственного числа включают в себя формы множественного числа, если контекст не указывает явно иное.
[0057] Когда часть "включает в себя" или "содержит" элемент, если только отсутствует конкретное описание, противоположное этому, часть может дополнительно включать в себя другие элементы, не исключая других элементов.
[0058] В дальнейших описаниях, термины, такие как "модуль", указывают компонент программного обеспечения или аппаратных средств, и "модуль" выполняет определенные функции. Однако "модуль" не ограничен программным обеспечением или аппаратными средствами. "Модуль" может формироваться так, чтобы находиться в доступном носителе хранения, или может формироваться так, чтобы применять один или несколько процессоров. Таким образом, например, термин "модуль" может относиться к компонентам, таким как компоненты программного обеспечения, компоненты объектно-ориентированного программного обеспечения, компоненты класса и компоненты задач, и может включать в себя процессы, функции, атрибуты, процедуры, подпрограммы, сегменты программного кода, драйверы, прошивку, микрокоды, схемы, данные, базы данных, структуры данных, таблицы, массивы или переменные. Функция, обеспечиваемая компонентами и "модулями", может быть ассоциирована с меньшим числом компонентов и "модулей" или может делиться на дополнительные компоненты и "модули".
[0059] В соответствии с вариантом осуществления раскрытия, "модуль" может быть реализован как процессор и память. Термин "процессор" должен интерпретироваться широко, чтобы включать в себя универсальный процессор, центральный процессор (CPU), микропроцессор, цифровой сигнальный процессор (DSP), контроллер, микроконтроллер, машина состояния и тому подобное. В некоторых средах, "процессор" может относиться к специализированной интегральной схеме (ASIC), программируемому логическому устройству (PLD), программируемой вентильной матрице (FPGA) или тому подобному. Термин "процессор" может относиться к комбинации устройств обработки, таких как, например, комбинация DSP и микропроцессора, комбинация множества микропроцессоров, комбинация одного или нескольких микропроцессоров во взаимосвязи с ядром DSP или комбинация любой другой из таких конфигураций.
[0060] Термин "память" должен интерпретироваться широко, чтобы включать в себя любой электронный компонент, способный хранить электронную информацию. Термин "память" может относиться к различным типам считываемых процессором носителей, таких как память с произвольным доступом (RAM), постоянная память (ROM), энергонезависимая память с произвольным доступом (NVRAM), программируемая постоянная память (PROM), стираемая программируемая постоянная память (EPROM), электрически стираемая PROM (EEPROM), флэш-память, магнитное или оптическое устройство хранения данных, регистры и тому подобное. Когда процессор может считывать информацию из памяти и/или записывать информацию в память, память должна находиться в состоянии электронной коммуникации с процессором. Память, интегрированная в процессор, находится в состоянии электронной коммуникации с процессором.
[0061] Далее, "изображение" может представлять собой статическое изображение, такое как неподвижное изображение видео, или может представлять собой динамическое изображение, такое как движущееся изображение, то есть, само видео.
[0062] Далее, "выборка" обозначает данные, назначенные положению дискретизации изображения, т.е. данные, подлежащие обработке. Например, значения пикселов изображения в пространственной области и коэффициенты преобразования на области преобразования могут быть выборками. Единица, включающая в себя по меньшей мере одну такую выборку, может определяться как блок.
[0063] Здесь и далее, раскрытие теперь будет описано более полно со ссылкой на прилагаемые чертежи, чтобы специалист в данной области техники мог выполнить варианты осуществления без каких-либо сложностей. К тому же, части, не являющиеся релевантными описанию, будут опущены на чертежах для ясного описания раскрытия.
[0064] Здесь и далее, устройство кодирования изображения и устройство декодирования изображения, и способ кодирования изображения и способ декодирования изображения в соответствии с вариантами осуществления будут описаны со ссылкой на фиг. 1A-29. Со ссылкой на фиг. 3-16, будет описан способ определения единицы данных изображения в соответствии с вариантом осуществления, и со ссылкой на фиг. 1A-2E и 17-29, будут описаны способы кодирования и декодирования режима интра-предсказания.
[0065] Далее, способ и устройство кодирования или декодирования изображения для адаптивного выполнения интра-предсказания, на основе различных форм единицы кодирования, в соответствии с вариантом осуществления раскрытия, будут теперь описаны со ссылкой на Фиг. 1A-2E.
[0066] Фиг. 1A представляет собой блок-схему устройства декодирования изображения, в соответствии с различными вариантами осуществления.
[0067] Устройство 100 декодирования изображения может включать в себя приемник 110 и декодер 120. Приемник 110 и декодер 120 могут включать в себя по меньшей мере один процессор. Также, приемник 110 и декодер 120 могут включать в себя память, хранящую инструкции, подлежащие выполнению по меньшей мере одним процессором.
[0068] Приемник 110 может принимать битовый поток. Битовый поток включает в себя информацию изображения, закодированного устройством 150 кодирования изображения, которое будет описано ниже. Также, битовый поток может передаваться от устройства 150 кодирования изображения. Устройство 150 кодирования изображения и устройство 100 декодирования изображения могут быть соединены проводным или беспроводным образом, и приемник 110 может принимать битовый поток проводным или беспроводным образом. Приемник 110 может принимать битовый поток из носителя хранения, такого как оптический носитель или жесткий диск. Декодер 120 может восстанавливать изображение на основе информации, полученной из принятого битового потока. Декодер 120 может получать, из битового потока, синтаксический элемент для восстановления изображения. Декодер 120 может восстанавливать изображение на основе синтаксического элемента.
[0069] Приемник 110 может получать, из битового потока, информацию режима предсказания о текущем блоке и информацию режима интра-предсказания о текущем блоке.
[0070] Информация режима предсказания о текущем блоке, которая включена в битовый поток, может включать в себя информацию о режиме пропуска, режиме интра-предсказания или режиме интер-предсказания. Когда текущий блок не соответствует режиму пропуска, может сигнализироваться, какой режим предсказания из режима интра-предсказания или режима интер-предсказания был использован, чтобы кодировать текущий блок.
[0071] Информация режима интра-предсказания о текущем блоке может представлять собой информацию о режиме интра-предсказания, подлежащем применению к текущему блоку, причем режим интра-предсказания является одним из множества режимов интра-предсказания. Например, режим интра-предсказания может быть одним из не-угловых режимов, включая режим DC, планарный режим, плоский режим и билинейный режим, и множества угловых режимов, имеющих направления предсказания. Угловые режимы могут включать в себя горизонтальный режим, вертикальный режим и диагональный режим и могут также включать в себя режимы, имеющие предопределенные направления, за исключением горизонтального направления, вертикального направления и диагонального направления. Например, число угловых режимов может составлять 65 или 33.
[0072] Декодер 120 может получать блок предсказания текущего блока, на основе режима предсказания текущего блока. Декодер 120 может получать, из битового потока, информацию коэффициента преобразования о текущем блоке, может выполнять обратное квантование и обратное преобразование с использованием полученной информации коэффициента преобразования, и таким образом может получать остаточную выборку остаточного блока относительно текущего блока.
[0073] Как будет описано ниже, в соответствии с вариантом осуществления, декодер 120 определяет, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком. Когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, декодер 120 получает, из битового потока, информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания, и определяет режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания. После этого, декодер 120 выполняет интра-предсказание с использованием режима интра-предсказания текущего блока. В соответствии с вариантом осуществления, декодер 120 получает информацию не-углового режима интра-предсказания, указывающую, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом интра-предсказания. Конкретный не-угловой режим интра-предсказания может представлять собой одно из режима DC и планарного режима. Когда информация не-углового режима интра-предсказания указывает конкретный не-угловой режим интра-предсказания, декодер 120 определяет режим интра-предсказания текущего блока как конкретный не-угловой режим интра-предсказания, а когда информация не-углового режима интра-предсказания не указывает конкретный не-угловой режим интра-предсказания, декодер 120 получает, из битового потока, информацию индекса режима интра-предсказания, указывающую таковой в списке кандидатов режима интра-предсказания, полученного на основе информации режима предсказания смежного блока, смежного с текущим блоком. После этого, декодер 120 может определять режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания (MPM idx) и может выполнять интра-предсказание на текущем блоке с использованием режима интра-предсказания текущего блока. Декодер 120 может восстанавливать текущий блок, на основе блока предсказания текущего блока и остаточного блока текущего блока. Декодер 120 может генерировать восстановленную выборку в текущем блоке с использованием значения выборки для выборки предсказания в блоке предсказания текущего блока и значения выборки остаточной выборки в остаточном блоке текущего блока, и может генерировать восстановленный блок текущего блока на основе восстановленной выборки.
[0074] Фиг. 1B иллюстрирует блок-схему последовательности операций способа декодирования изображения в соответствии с вариантом осуществления.
[0075] В операции 150, декодер 120 определяет, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком.
[0076] В операции 151, когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, декодер 120 получает, из битового потока, информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания, и в операции 152, декодер 120 определяет режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания.
[0077] В операции 153, декодер 120 выполняет интра-предсказание с использованием режима интра-предсказания текущего блока.
[0078] Фиг. 1C иллюстрирует блок-схему последовательности операций способа декодирования изображения в соответствии с другим вариантом осуществления.
[0079] В операции 160, декодер 120 получает информацию не-углового режима интра-предсказания, указывающую, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом интра-предсказания. Конкретный не-угловой режим интра-предсказания может представлять собой один из режима DC и планарного режима.
[0080] В операции 161, декодер 120 определяет, является ли информация не-углового режима интра-предсказания конкретным не-угловым режимом интра-предсказания. В результате определения в операции 161, когда информация не-углового режима интра-предсказания указывает конкретный не-угловой режим интра-предсказания, в операции 162, декодер 120 определяет режим интра-предсказания текущего блока как конкретный не-угловой режим интра-предсказания, а когда информация не-углового режима интра-предсказания не указывает конкретный не-угловой режим интра-предсказания, в операции 163, декодер 120 получает, из битового потока, информацию индекса режима интра-предсказания, указывающую таковой в списке кандидатов режима интра-предсказания, полученном на основе информации режима предсказания смежного блока, смежного с текущим блоком. В операции 164, декодер 120 может определять режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания (MPM idx), и в операции 165, декодер 120 может выполнять интра-предсказание на текущем блоке с использованием режима интра-предсказания текущего блока.
[0081] Фиг. 1D представляет собой блок-схему декодера 6000 изображения в соответствии с различными вариантами осуществления.
[0082] Декодер 6000 изображения в соответствии с различными вариантами осуществления выполняет операции, необходимые, чтобы декодер 120 устройства 100 декодирования изображения декодировал данные изображения.
[0083] Со ссылкой на фиг. 1D, энтропийный декодер 6150 синтаксически анализирует, из битового потока 6050, закодированные данные изображения, подлежащие декодированию, и информацию кодирования, необходимую для декодирования. Закодированные данные изображения представляют собой квантованный коэффициент преобразования, и деквантователь 6200 и обратный преобразователь 6250 восстанавливают остаточные данные из квантованного коэффициента преобразования.
[0084] Интра-предсказатель 6400 выполняет интра-предсказание на каждом из блоков. Как будет описано ниже, в соответствии с вариантом осуществления, интра-предсказатель 6400 определяет, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком, и когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, интра-предсказатель 6400 получает, из битового потока, информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания, и определяет режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания.
[0085] Интер-предсказатель 6350 выполняет интер-предсказание на каждом блоке с использованием опорного изображения, полученного из буфера 6300 восстановленной картинки. Данные пространственной области для блока текущего изображения могут восстанавливаться путем суммирования данных остатка и данных предсказания каждого блока, которые сгенерированы интра-предсказателем 6400 или интер-предсказателем 6350, и модуль 6450 устранения блочности и модуль 6500 выполнения адаптивного смещения выборки (SAO) могут выполнять контурную фильтрацию на восстановленных данных пространственной области, так что может выводиться отфильтрованное восстановленное изображение. Восстановленные изображения, хранящиеся в буфере 6300 восстановленной картинки, могут выводиться как опорное изображение.
[0086] Чтобы декодер 120 устройства 100 декодирования изображения кодировал данные изображения, декодер 6000 изображения в соответствии с различными вариантами осуществления может выполнять операции каждой стадии на каждом блоке.
[0087] Фиг. 1E представляет собой блок-схему устройства 100 декодирования изображения в соответствии с вариантом осуществления.
[0088] Устройство 100 декодирования изображения в соответствии с вариантом осуществления может включать в себя память 130 и по меньшей мере один процессор 125, соединенный с памятью 130. Операции устройства 100 декодирования изображения в соответствии с вариантом осуществления могут выполняться отдельными процессорами или могут выполняться посредством управления центрального процессора. Также, память 130 устройства 100 декодирования изображения может хранить данные, принятые из внешнего источника, и данные, сгенерированные процессором. Процессор 125 устройства 100 декодирования изображения может определять, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком, и когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, процессор 125 может получать, из битового потока, информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания, и может определять режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания.
[0089] Фиг. 2A представляет собой блок-схему устройства кодирования изображения, в соответствии с различными вариантами осуществления.
[0090] Устройство 150 кодирования изображения в соответствии с различными вариантами осуществления может включать в себя кодер 155 и модуль 160 вывода.
[0091] Кодер 155 и модуль 160 вывода могут включать в себя по меньшей мере один процессор. Также, кодер 155 и модуль 160 вывода могут включать в себя память, хранящую инструкции, подлежащие выполнению по меньшей мере одним процессором. Кодер 155 и модуль 160 вывода могут быть реализованы как отдельные компоненты аппаратных средств, или кодер 155 и модуль 160 вывода могут быть включены в один компонент аппаратных средств.
[0092] Кодер 155 определяет режим предсказания текущего блока путем применения различных режимов предсказания, включая режим пропуска, режим интра-предсказания, режим интер-предсказания или тому подобное. Когда текущий блок не соответствует режиму пропуска, может сигнализироваться, какой режим предсказания из режима интра-предсказания или режима интер-предсказания был использован, чтобы кодировать текущий блок.
[0093] Кодер 155 может получать блок предсказания текущего блока, на основе режима предсказания текущего блока, и затем может кодировать остаток путем преобразования и квантования остатка, который представляет собой значение разности между текущим блоком и блоком предсказания. Кодер 155 может определять кандидата режима интра-предсказания, подлежащего применению к текущему блоку, с использованием ширины и высоты текущего блока. Кодер 155 может кодировать информацию о режиме интра-предсказания текущего блока. Кодер 155 определяет режим интра-предсказания, в котором затраты скорости-искажения (RD) являются оптимальными, путем применения режимов интра-предсказания в соответствии с различными вариантами осуществления. Когда режим предсказания текущего блока наконец определен как режим интра-предсказания, кодер 155 может добавлять, в битовый поток, множество фрагментов информации о том, какой режим предсказания из режима пропуска, режима интер-предсказания и режима интра-предсказания используется, чтобы предсказывать текущий блок, и информацию режима интра-предсказания интра-предсказанного текущего блока, и может передавать битовый поток на устройство 100 декодирования изображения.
[0094] Модуль 160 вывода может генерировать битовый поток, включающий в себя информацию режима интра-предсказания о текущем блоке и информацию структуры, для определения единиц данных, имеющих иерархически разделенные формы, и может выводить битовый поток.
[0095] Фиг. 2B иллюстрирует блок-схему последовательности операций способа кодирования изображения в соответствии с вариантом осуществления.
[0096] В операции 250, кодер 155 применяет режимы интра-предсказания, доступные для текущего блока, и определяет режим интра-предсказания, имеющий оптимальные затраты RD.
[0097] В операции 251, кодер 155 определяет, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком.
[0098] В операции 252, когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, кодер 155 генерирует битовый поток, включающий в себя информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания.
[0099] Фиг. 2C иллюстрирует блок-схему последовательности операций способа кодирования изображения в соответствии с другим вариантом осуществления.
[00100] В операции 271, кодер 155 применяет режимы интра-предсказания, доступные для текущего блока, и определяет режим интра-предсказания, имеющий оптимальные затраты RD.
[00101] В операции 272, кодер 155 определяет, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом интра-предсказания. В результате определения в операции 272, когда режим интра-предсказания текущего блока является конкретным не-угловым режимом интра-предсказания, в операции 273, кодер 155 добавляет информацию о конкретном не-угловом режиме интра-предсказания как информацию о режиме интра-предсказания текущего блока в битовый поток. Когда режим интра-предсказания текущего блока не является конкретным не-угловым режимом интра-предсказания, в операции 274, кодер 155 устанавливает список кандидатов режима интра-предсказания (список MPM) на основе информации режима предсказания смежного блока, смежного с текущим блоком, и в операции 275, кодер 155 генерирует битовый поток, включающий в себя информацию индекса режима интра-предсказания (MPM idx), указывающую таковой в списке кандидатов режима интра-предсказания.
[00102] Фиг. 2D представляет собой блок-схему кодера изображения в соответствии с различными вариантами осуществления.
[00103] Кодер 7000 изображения в соответствии с различными вариантами осуществления выполняет операции, необходимые, чтобы кодер 155 устройства 150 кодирования изображения кодировал данные изображения.
[00104] То есть, интра-предсказатель 7200 выполняет интра-предсказание на каждом из блоков текущего изображения 7050, и интер-предсказатель 7150 выполняет интер-предсказание на каждом из блоков с использованием текущего изображения 7050 и опорного изображения, полученного из буфера 7100 восстановленной картинки.
[00105] Остаточные данные получают путем вычитания данных предсказания из данных блока, подлежащего кодированию в текущем изображении 7050, причем данные предсказания относятся к каждому блоку и выводятся из интра-предсказателя 7200 или интер-предсказателя 7150, и преобразователь 7250 и квантователь 7300 могут выводить квантованный коэффициент преобразования каждого блока путем выполнения преобразования и квантования на остаточных данных.
[00106] Деквантователь 7450 и обратный преобразователь 7500 могут восстанавливать остаточные данные пространственной области путем выполнения обратного квантования и обратного преобразования на квантованном коэффициенте преобразования. Восстановленные остаточные данные пространственной области могут добавляться к данным предсказания, которые относятся к каждому блоку и выводятся из интра-предсказателя 7200 или интер-предсказателя 7150, и, таким образом, могут восстанавливаться как данные пространственной области относительно блока текущего изображения 7050. Модуль 7550 устранения блочности и модуль 7600 выполнения SAO генерируют отфильтрованное восстановленное изображение путем выполнения контурной фильтрации на восстановленных данных пространственной области. Сгенерированное восстановленное изображение сохраняется в буфере 7100 восстановленной картинки. Восстановленные изображения, хранящиеся в буфере 7100 восстановленной картинки, могут использоваться в качестве опорного изображения для интер-предсказания относительно другого изображения. Энтропийный кодер 7350 может энтропийно кодировать квантованный коэффициент преобразования, и энтропийно закодированный коэффициент может выводиться как битовый поток 7400.
[00107] Чтобы кодер 7000 изображения в соответствии с различными вариантами осуществления применялся к устройству 150 кодирования изображения, кодер 7000 изображения в соответствии с различными вариантами осуществления может выполнять операции каждой стадии на каждом блоке.
[00108] Фиг. 2E представляет собой блок-схему устройства 150 кодирования изображения в соответствии с вариантом осуществления.
[00109] Устройство 150 кодирования изображения в соответствии с вариантом осуществления может включать в себя память 165 и по меньшей мере один процессор 170, соединенный с памятью 165. Операции устройства 150 кодирования изображения в соответствии с вариантом осуществления могут выполняться отдельными процессорами или могут выполняться под управлением центрального процессора. Также, память 165 устройства 150 кодирования изображения может хранить данные, принятые от внешнего источника, и данные, сгенерированные процессором.
[00110] Процессор 170 устройства 150 кодирования изображения может применять режимы интра-предсказания, доступные для текущего блока, и определять режим интра-предсказания, имеющий оптимальные затраты RD, может определять, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком, и когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, процессор 170 может генерировать битовый поток, включающий в себя информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания.
[00111] Далее, разделение единицы кодирования будет описано подробно в соответствии с вариантом осуществления раскрытия.
[00112] Сначала, одна картинка может разделяться на одну или несколько вырезок или один или несколько мозаичных элементов. Одна вырезка или один мозаичный элемент может представлять собой последовательность одной или нескольких наибольших единиц кодирования (единиц дерева кодирования (CTU)). Существует наибольший блок кодирования (блок дерева кодирования (CTB)), концептуально сопоставимый с наибольшей единицей кодирования (CTU).
[00113] Наибольшая единица кодирования (CTB) относится к блоку N×N, включающему в себя N×N выборок (где N является целым числом). Каждый компонент цвета может разделяться на один или несколько наибольших блоков кодирования.
[00114] Когда картинка имеет три массива выборок (массивы выборок для компонентов Y, Cr и Cb, соответственно), наибольшая единица кодирования (CTU) включает в себя наибольший блок кодирования выборки яркости, два соответствующих наибольших блока кодирования выборок цветности и синтаксические элементы, используемые, чтобы кодировать выборку яркости и выборки цветности. Когда картинка является монохромной картинкой, наибольшая единица кодирования включает в себя наибольший блок кодирования монохромной выборки и синтаксические элементы, используемые, чтобы кодировать монохромные выборки. Когда картинка является картинкой, закодированной в цветовых плоскостях, отдельных соответственно компонентам цвета, наибольшая единица кодирования включает в себя синтаксические элементы, используемые, чтобы кодировать картинку и выборки картинки.
[00115] Один наибольший блок кодирования (CTB) может разделяться на M×N блоков кодирования, включающих в себя M×N выборок (где M и N являются целыми числами).
[00116] Когда картинка имеет массивы выборок для соответственных компонентов Y, Cr и Cb, единица кодирования (CU) включает в себя блок кодирования выборки яркости, два соответствующих блока кодирования выборок цветности и синтаксические элементы, используемые, чтобы кодировать выборку яркости и выборки цветности. Когда картинка является монохромной картинкой, единица кодирования включает в себя блок кодирования монохромной выборки и синтаксические элементы, используемые, чтобы кодировать монохромные выборки. Когда картинка является картинкой, закодированной в цветовых плоскостях, отдельных соответственно компонентам цвета, единица кодирования включает в себя синтаксические элементы, используемые, чтобы кодировать картинку и выборки картинки.
[00117] Как описано выше, наибольший блок кодирования и наибольшая единица кодирования концептуально различимы друг от друга, и блок кодирования и единица кодирования концептуально различимы друг от друга. То есть, (наибольшая) единица кодирования относится к структуре данных, включающей в себя (наибольший) блок кодирования, включающий в себя соответствующую выборку и синтаксический элемент, соответствующие (наибольшему) блоку кодирования. Однако, поскольку специалист в данной области техники может понимать, что (наибольшая) единица кодирования или (наибольший) блок кодирования относится к блоку предопределенного размера, включающему в себя предопределенное число выборок, наибольший блок кодирования и наибольшая единица кодирования, или блок кодирования и единица кодирования упоминаются в дальнейшей спецификации без проведения различия, если не описано иначе.
[00118] Изображение может разделяться на наибольшие единицы кодирования (CTU). Размер каждой наибольшей единицы кодирования может определяться на основе информации, полученной из битового потока. Форма каждой наибольшей единицы кодирования может быть квадратной формой одного и того же размера. Однако раскрытие не ограничено этим.
[00119] Например, информация о максимальном размере блока кодирования яркости может быть получена из битового потока. Например, максимальный размер блока кодирования яркости, указанный информацией о максимальном размере блока кодирования яркости, может представлять собой одно из 16×16, 32×32, 64×64, 128×128 и 256×256.
[00120] Например, информация о разности размера блока яркости и максимального размера блока кодирования яркости, который можно разделить на 2, может быть получена из битового потока. Информация о разности размера блока яркости может относиться к разности размеров между наибольшей единицей кодирования яркости и наибольшего блока кодирования яркости, который можно разделить на 2. Соответственно, когда информация о максимальном размере блока кодирования яркости, который можно разделить на 2, и информация о разнице размера блока яркости, полученная из битового потока, комбинируются друг с другом, может определяться размер наибольшей единицы кодирования яркости. Размер наибольшей единицы кодирования цветности может определяться с использованием размера наибольшей единицы кодирования яркости. Например, когда отношение Y:Cb:Cr составляет 4:2:0 в соответствии с цветовым форматом, размер блока цветности может составлять половинный размер блока яркости, и размер наибольшей единицы кодирования цветности может составлять половинный размер наибольшей единицы кодирования яркости.
[00121] В соответствии с вариантом осуществления, поскольку информацию о максимальном размере блока кодирования яркости, который является двоично разделяемым, получают из битового потока, максимальный размер блока кодирования яркости, который является двоично разделяемым, может определяться переменным образом. Напротив, максимальный размер блока кодирования яркости, который является троично разделяемым, может быть фиксированным. Например, максимальный размер блока кодирования яркости, который является троично разделяемым в I-картинке, может составлять 32×32, и максимальный размер блока кодирования яркости, который является троично разделяемым в Р-картинке или В-картинке, может составлять 64×64.
[00122] Также, наибольшая единица кодирования может иерархически разделяться на единицы кодирования на основе информации режима разделенной формы, полученной из битового потока. По меньшей мере одна из информации, указывающей, должно ли выполняться квадро-разделение, информации, указывающей, должно ли выполняться множественное разделение, информации направления разделения и информации типа разделения, может быть получена как информация режима разделенной формы из битового потока.
[00123] Например, информация, указывающая, должно ли выполняться квадро-разделение, может указывать, должна ли текущая единица кодирования квадро-разделяться (QUAD_SPLIT) или нет.
[00124] Когда текущая единица кодирования не должна квадро-разделяться, информация, указывающая, должно ли выполняться множественное разделение, может указывать, не подлежит ли больше текущая единица кодирования разделению (NO_SPLIT) или она должна разделяться двоично/троично.
[00125] Когда текущая единица кодирования двоично разделяется или троично разделяется, информация направления разделения указывает, что текущая единица кодирования должна разделяться в одном из горизонтального направления или вертикального направления.
[00126] Когда текущая единица кодирования разделяется в горизонтальном направлении или вертикальном направлении, информация типа разделения указывает, что текущая единица кодирования подлежит двоичному разделению или троичному разделению.
[00127] Режим разделения текущей единицы кодирования может определяться в соответствии с информацией направления разделения и информацией типа разделения. Режим разделения, когда текущая единица кодирования двоично разделяется в горизонтальном направлении, может определяться как горизонтальный двоичный режим разделения (SPLIT_BT_HOR), режим разделения, когда текущая единица кодирования разделяется троично в горизонтальном направлении, может определяться как горизонтальный троичный режим разделения (SPLIT_TT_HOR), режим разделения, когда текущая единица кодирования двоично разделяется в вертикальном направлении, может определяться как вертикальный двоичный режим разделения (SPLIT_BT_VER), и режим разделения, когда текущая единица кодирования разделяется троично в вертикальном направлении, может определяться как вертикальный троичный режим разделения SPLIT_TT_VER.
[00128] Устройство 100 декодирования изображения может получать, из битового потока, информацию режима разделенной формы из одной строки бинов. Вид битового потока, принятого устройством 100 декодирования изображения, может включать в себя двоичный код фиксированной длины, унарный код, усеченный унарный код, предопределенный двоичный код или тому подобное. Строка бинов представляет собой информацию в двоичном числе. Строка бинов может включать в себя по меньшей мере один бит. Устройство 100 декодирования изображения может получать информацию режима разделенной формы, соответствующую строке бинов, на основе правила разделения. Устройство 100 декодирования изображения может определять, следует ли подвергать единицу кодирования квадро-разделению, следует ли подвергать единицу кодирования не-квадро-разделению, направление разделения и тип разделения, на основе одной строки бинов.
[00129] Единица кодирования может быть меньше или равна наибольшей единице кодирования. Например, поскольку наибольшая единица кодирования представляет собой единицу кодирования, имеющую максимальный размер, наибольшая единица кодирования является одной из единиц кодирования. Когда информация режима разделенной формы о наибольшей единице кодирования указывает, что разделение не должно выполняться, единица кодирования, определенная в наибольшей единице кодирования, имеет тот же размер, что и наибольшая единица кодирования. Когда кодовая информация разделенной формы о наибольшей единице кодирования указывает, что разделение должно выполняться, наибольшая единица кодирования может разделяться на единицы кодирования. Также, когда информация режима разделенной формы о единице кодирования указывает, что разделение должно выполняться, единица кодирования может разделяться на меньшие единицы кодирования. Однако разделение изображения не ограничено этим, и может не проводиться различие между наибольшей единицей кодирования и единицей кодирования. Разделение единицы кодирования будет описано подробно со ссылкой на фиг. 3-16.
[00130] Также, один или несколько блоков предсказания для предсказания могут определяться из единицы кодирования. Блок предсказания может быть равен или меньше, чем единица кодирования. Также, один или несколько блоков преобразования для преобразования могут определяться из единицы кодирования. Блок преобразования может быть равен или меньше, чем единица кодирования.
[00131] Формы и размеры блока преобразования и блока предсказания могут не быть связаны друг с другом.
[00132] В другом варианте осуществления, предсказание может выполняться с использованием единицы кодирования в качестве единицы предсказания. Также, преобразование может выполняться с использованием единицы кодирования в качестве блока преобразования.
[00133] Разделение единицы кодирования будет описано подробно со ссылкой на фиг. 3-16. Текущий блок и соседний блок раскрытия могут указывать одно из наибольшей единицы кодирования, единицы кодирования, блока предсказания и блока преобразования. Также, текущий блок текущей единицы кодирования представляет собой блок, который в текущее время декодируется или кодируется, или блок, который в текущее время разделяется. Соседний блок может представлять собой блок, восстановленный перед текущим блоком. Соседний блок может быть пространственно или по времени смежным с текущим блоком. Соседний блок может быть расположен в одном из положений снизу слева, слева, сверху слева, сверху, сверху справа, справа, снизу справа от текущего блока.
[00134] Фиг. 3 иллюстрирует выполняемый устройством 100 декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения текущей единицы кодирования, в соответствии с вариантом осуществления.
[00135] Форма блока может включать в себя 4N×4N, 4N×2N, 2N×4N, 4N×N, N×4N, 32N×N, N×32N, 16N×N, N×16N, 8N×N или N×8N. Здесь, N может быть положительным целым. Информация формы блока представляет собой информацию, указывающую по меньшей мере одно из формы, направления, отношения ширины и высоты или размеров ширины и высоты.
[00136] Форма единицы кодирования может включать в себя квадрат и не-квадрат. Когда длины ширины и высоты единицы кодирования равны (т.е., когда формой блока единицы кодирования является 4N×4N), устройство 100 декодирования изображения может определять информацию формы блока единицы кодирования как квадрат. Устройство 100 декодирования изображения может определять форму единицы кодирования как не-квадрат.
[00137] Когда длины ширины и высоты единицы кодирования отличаются друг от друга (т.е., когда формой блока единицы кодирования является 4N×2N, 2N×4N, 4N×N, N×4N, 32N×N, N×32N, 16N×N, N×16N, 8N×N или N×8N), устройство 100 декодирования изображения может определять информацию формы блока единицы кодирования как неквадратную форму. Когда форма единицы кодирования является неквадратной, устройство 100 декодирования изображения может определять отношение ширины и высоты в информации формы блока единицы кодирования как по меньшей мере одно из 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1, 1:32 и 32:1. Также, устройство 100 декодирования изображения может определять, находится ли единица кодирования в горизонтальном направлении или вертикальном направлении, на основе длины ширины и длины высоты единицы кодирования. Также, устройство 100 декодирования изображения может определять размер единицы кодирования, на основе по меньшей мере одного из длины ширины, длины высоты или площади единицы кодирования.
[00138] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять форму единицы кодирования с использованием информации формы блока и может определять способ разделения единицы кодирования с использованием информации режима разделенной формы. То есть, способ разделения единицы кодирования, указанный информацией режима разделенной формы, может определяться на основе формы блока, указанной информацией формы блока, используемой устройством 100 декодирования изображения.
[00139] Устройство 100 декодирования изображения может получать информацию режима разделенной формы из битового потока. Однако вариант осуществления не ограничен этим, и устройство 100 декодирования изображения и устройство 150 кодирования изображения могут определять предварительно согласованную информацию режима разделенной формы, на основе информации формы блока. Устройство 100 декодирования изображения может определять предварительно согласованную информацию режима разделенной формы относительно наибольшей единицы кодирования или наименьшей единицы кодирования. Например, устройство 100 декодирования изображения может определять информацию режима разделенной формы относительно наибольшей единицы кодирования, подлежащей квадро-разделению. Также, устройство 100 декодирования изображения может определять информацию режима разделенной формы относительно наименьшей единицы кодирования как "не выполнять разделение". В частности, устройство 100 декодирования изображения может определять размер наибольшей единицы кодирования как 256×256. Устройство 100 декодирования изображения может определять предварительно согласованную информацию режима разделенной формы как подлежащую квадро-разделению. Квадро-разделение представляет собой режим разделенной формы, в котором и ширина, и высота единицы кодирования разделены пополам. Устройство 100 декодирования изображения может получать единицу кодирования размером 128×128 из наибольшей единицы кодирования размером 256×256, на основе информации режима разделенной формы. Также, устройство 100 декодирования изображения может определять размер наименьшей единицы кодирования как 4×4. Устройство 100 декодирования изображения может получать информацию режима разделенной формы, указывающую "не выполнять разделение" относительно наименьшей единицы кодирования.
[00140] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать информацию формы блока, указывающую, что текущая единица кодирования имеет квадратную форму. Например, устройство 100 декодирования изображения может определять, следует ли не разделять квадратную единицу кодирования, следует ли вертикально разделить квадратную единицу кодирования, следует ли горизонтально разделить квадратную единицу кодирования или следует ли разделить квадратную единицу кодирования на четыре единицы кодирования, на основе информации режима разделенной формы. Со ссылкой на фиг. 3, когда информация формы блока текущей единицы 300 кодирования указывает квадратную форму, декодер 120 может определять, что единица 310a кодирования имеет тот же самый размер, что и текущая единица 300 кодирования, на основе информации режима разделенной формы, указывающей не выполнять разделение, или может определять единицы 310b, 310c, 310d, 310e или 310f кодирования, разделенные на основе информации режима разделенной формы, указывающей предопределенный способ разделения.
[00141] Со ссылкой на фиг. 3, в соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять две единицы 310b кодирования, полученные путем разделения текущей единицы 300 кодирования в вертикальном направлении, на основе информации режима разделенной формы, указывающей выполнить разделение в вертикальном направлении. Устройство 100 декодирования изображения может определять две единицы 310c кодирования, полученные путем разделения текущей единицы 300 кодирования в горизонтальном направлении, на основе информации режима разделенной формы, указывающей выполнить разделение в горизонтальном направлении. Устройство 100 декодирования изображения может определять четыре единицы 310d кодирования, полученные путем разделения текущей единицы 300 кодирования в вертикальном и горизонтальном направлениях, на основе информации режима разделенной формы, указывающей выполнить разделение в вертикальном и горизонтальном направлениях. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять три единицы 310e кодирования, полученные путем разделения текущей единицы 300 кодирования в вертикальном направлении, на основе информации режима разделенной формы, указывающей выполнить троичное разделение в вертикальном направлении. Устройство 100 декодирования изображения может определять три единицы 310f кодирования, полученные путем разделения текущей единицы 300 кодирования в горизонтальном направлении, на основе информации режима разделенной формы, указывающей выполнить троичное разделение в горизонтальном направлении. Однако способы разделения квадратной единицы кодирования не ограничены вышеупомянутыми способами и могут включать в себя различные способы, которые могут быть указаны информацией режима разделенной формы. Предопределенные способы разделения для разделения квадратной единицы кодирования будут описаны подробно ниже в отношении различных вариантов осуществления.
[00142] Фиг. 4 иллюстрирует выполняемый устройством 100 декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения неквадратной единицы кодирования, в соответствии с вариантом осуществления.
[00143] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать информацию формы блока, указывающую, что текущая единица кодирования имеет неквадратную форму. Устройство 100 декодирования изображения может определять, следует ли не разделять неквадратную текущую единицу кодирования или следует ли разделить неквадратную текущую единицу кодирования с использованием предопределенного способа разделения, на основе информации режима разделенной формы. Со ссылкой на фиг. 4, когда информация формы блока текущей единицы 400 или 450 кодирования указывает неквадратную форму, устройство 100 декодирования изображения может определять, что единица 410 или 460 кодирования имеет тот же самый размер, что и текущая единица 400 или 450 кодирования, на основе информации режима разделенной формы, указывающей не выполнять разделение, или может определять единицы 420a и 420b, 430a, 430b и 430c, 470a и 470b или 480a, 480b и 480c кодирования, которые разделяются на основе информации режима разделенной формы, указывающей предопределенный способ разделения. Предопределенные способы разделения для разделения неквадратной единицы кодирования будут описаны подробно ниже в отношении различных вариантов осуществления.
[00144] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять способ разделения единицы кодирования с использованием информации режима разделенной формы, и, в этом случае, информация режима разделенной формы может указывать количество одной или нескольких единиц кодирования, сгенерированных путем разделения единицы кодирования. Со ссылкой на фиг. 4, когда информация режима разделенной формы указывает на то, чтобы разделить текущую единицу 400 или 450 кодирования на две единицы кодирования, устройство 100 декодирования изображения может определять две единицы 420a и 420b или 470a и 470b кодирования, включенные в текущую единицу 400 или 450 кодирования, путем разделения текущей единицы 400 или 450 кодирования на основе информации режима разделенной формы.
[00145] В соответствии с вариантом осуществления, когда устройство 100 декодирования изображения разделяет неквадратную текущую единицу 400 или 450 кодирования на основе информации режима разделенной формы, устройство 100 декодирования изображения может разделять текущую единицу кодирования, с учетом местоположения длинной стороны неквадратной текущей единицы 400 или 450 кодирования. Например, устройство 100 декодирования изображения может определять множество единиц кодирования путем разделения текущей единицы 400 или 450 кодирования путем разделения длинной стороны текущей единицы 400 или 450 кодирования, с учетом формы текущей единицы 400 или 450 кодирования.
[00146] В соответствии с вариантом осуществления, когда информация режима разделенной формы указывает на то, чтобы разделить (троично разделить) единицу кодирования на нечетное число блоков, устройство 100 декодирования изображения может определять нечетное число единиц кодирования, включенных в текущую единицу 400 или 450 кодирования. Например, когда информация режима разделенной формы указывает на то, чтобы разделить текущую единицу 400 или 450 кодирования на три единицы кодирования, устройство 100 декодирования изображения может разделять текущую единицу 400 или 450 кодирования на три единицы 430a, 430b и 430c или 480a, 480b и 480c кодирования.
[00147] В соответствии с вариантом осуществления, отношение ширины и высоты текущей единицы 400 или 450 кодирования может составлять 4:1 или 1:4. Когда отношение ширины и высоты составляет 4:1, информация формы блока может указывать горизонтальное направление, поскольку длина ширины длиннее, чем длина высоты. Когда отношение ширины и высоты составляет 1:4, информация формы блока может указывать вертикальное направление, поскольку длина ширины короче, чем длина высоты. Устройство 100 декодирования изображения может определять разделить текущую единицу кодирования на нечетное число блоков, на основе информации режима разделенной формы. Также, устройство 100 декодирования изображения может определять направление разделения текущей единицы 400 или 450 кодирования, на основе информации формы блока текущей единицы 400 или 450 кодирования. Например, когда текущая единица 400 кодирования находится в вертикальном направлении, в котором высота больше, чем ее ширина, устройство 100 декодирования изображения может определять единицы 430a, 430b и 430c кодирования путем разделения текущей единицы 400 кодирования в горизонтальном направлении. Также, когда текущая единица 450 кодирования находится в горизонтальном направлении, в котором ширина больше, чем ее высота, устройство 100 декодирования изображения может определять единицы 480a, 480b и 480c кодирования путем разделения текущей единицы кодирования 450 в вертикальном направлении.
[00148] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять нечетное число единиц кодирования, включенных в текущую единицу 400 или 450 кодирования, и не все определенные единицы кодирования могут иметь один и тот же размер. Например, предопределенная единица 430b или 480b кодирования из определенного нечетного числа единиц 430a, 430b и 430c или 480a, 480b и 480c кодирования может иметь размер, отличный от размера других единиц 430a и 430c или 480a и 480c кодирования. То есть, единицы кодирования, которые могут определяться путем разделения текущей единицы 400 или 450 кодирования, могут иметь множество размеров, и, в некоторых случаях, все из нечетного числа единиц 430a, 430b и 430c или 480a, 480b и 480c кодирования могут иметь разные размеры.
[00149] В соответствии с вариантом осуществления, когда информация режима разделенной формы указывает на то, чтобы разделить единицу кодирования на нечетное число блоков, устройство 100 декодирования изображения может определять нечетное число единиц кодирования, включенных в текущую единицу 400 или 450 кодирования, и к тому же, может налагать предопределенное ограничение на по меньшей мере одну единицу кодирования из нечетного числа единиц кодирования, сгенерированных путем разделения текущей единицы 400 или 450 кодирования. Со ссылкой на фиг. 4, устройство 100 декодирования изображения может позволять процессу декодирования единицы 430b или 480b кодирования отличаться от процесса декодирования другой единицы 430a и 430c или 480a или 480c кодирования, причем единица 430b или 480b кодирования находится в центральном местоположении из трех единиц 430a, 430b и 430c или 480a, 480b и 480c кодирования, сгенерированных путем разделения текущей единицы 400 или 450 кодирования. Например, устройство 100 декодирования изображения может ограничивать единицу 430b или 480b кодирования в центральном местоположении, чтобы она больше не разделялась или разделялась только предопределенное число раз, в отличие от других единиц 430a и 430c или 480a и 480c кодирования.
[00150] Фиг. 5 иллюстрирует процесс, выполняемый устройством 100 декодирования изображения, разделения единицы кодирования на основе по меньшей мере одного из информации формы блока и информации режима разделенной формы, в соответствии с вариантом осуществления.
[00151] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять разделить или не разделять квадратную первую единицу 500 кодирования на единицы кодирования, на основе по меньшей мере одного из информации формы блока и информации режима разделенной формы. В соответствии с вариантом осуществления, когда информация режима разделенной формы указывает на то, чтобы разделить первую единицу 500 кодирования в горизонтальном направлении, устройство 100 декодирования изображения может определять вторую единицу 510 кодирования путем разделения первой единицы 500 кодирования в горизонтальном направлении. Первая единица кодирования, вторая единица кодирования и третья единица кодирования, используемые в соответствии с вариантом осуществления, являются терминами, используемыми, чтобы понимать отношение до и после разделения единицы кодирования. Например, вторая единица кодирования может определяться путем разделения первой единицы кодирования, и третья единица кодирования может определяться путем разделения второй единицы кодирования. Будет понятно, что структура первой единицы кодирования, второй единицы кодирования и третьей единицы кодирования следует описаниям выше.
[00152] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять разделить определенную вторую единицу 510 кодирования на единицы кодирования, на основе информации режима разделенной формы, или может определять не разделять определенную вторую единицу 510 кодирования. Со ссылкой на фиг. 5, устройство 100 декодирования изображения может разделять неквадратную вторую единицу 510 кодирования, которая определяется путем разделения первой единицы 500 кодирования, на одну или несколько третьих единиц 520a или 520b, 520c и 520d кодирования на основе информации режима разделенной формы, или может не разделять неквадратную вторую единицу 510 кодирования. Устройство 100 декодирования изображения может получать информацию режима разделенной формы и может определять множество вторых единиц (например, 510) кодирования с различной формой путем разделения первой единицы 500 кодирования, на основе полученной информации режима разделенной формы, и вторая единица 510 кодирования может разделяться с использованием способа разделения первой единицы 500 кодирования на основе информации режима разделенной формы. В соответствии с вариантом осуществления, когда первая единица 500 кодирования разделяется на вторые единицы 510 кодирования на основе информации режима разделенной формы первой единицы 500 кодирования, вторая единица 510 кодирования может также разделяться на третьи единицы 520a или 520b, 520c и 520d кодирования на основе информации режима разделенной формы второй единицы 510 кодирования. То есть, единица кодирования может рекурсивно разделяться на основе информации режима разделенной формы каждой единицы кодирования. Поэтому, квадратная единица кодирования может определяться путем разделения неквадратной единицы кодирования, и неквадратная единица кодирования может определяться путем рекурсивного разделения квадратной единицы кодирования.
[00153] Со ссылкой на фиг. 5, предопределенная единица кодирования (например, единица кодирования, расположенная в центральном местоположении, или квадратная единица кодирования) из нечетного числа третьих единиц 520b, 520c и 520d кодирования, определенных путем разделения неквадратной второй единицы 510 кодирования, может рекурсивно разделяться. В соответствии с вариантом осуществления, неквадратная третья единица 520b кодирования из нечетного числа третьих единиц 520b, 520c и 520d кодирования может разделяться в горизонтальном направлении на множество четвертых единиц кодирования. Неквадратная четвертая единица 530b или 530d кодирования из множества четвертых единиц 530a, 530b, 530c и 530d кодирования может повторно разделяться на множество единиц кодирования. Например, неквадратная четвертая единица 530b или 530d кодирования может повторно разделяться на нечетное число единиц кодирования. Способ, который может использоваться, чтобы рекурсивно разделять единицу кодирования, будет описан ниже в отношении различных вариантов осуществления.
[00154] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять каждую из третьих единиц 520a или 520b, 520c и 520d кодирования на единицы кодирования, на основе информации режима разделенной формы. Также, устройство 100 декодирования изображения может определять не разделять вторую единицу 510 кодирования на основе информации режима разделенной формы. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять неквадратную вторую единицу 510 кодирования на нечетное число третьих единиц 520b, 520c и 520d кодирования. Устройство 100 декодирования изображения может налагать предопределенное ограничение на предопределенную третью единицу кодирования из нечетного числа третьих единиц 520b, 520c и 520d кодирования. Например, устройство 100 декодирования изображения может ограничивать третью единицу 520c кодирования в центральном местоположении из нечетного числа третьих единиц 520b, 520c и 520d кодирования, чтобы она больше не разделялась или разделялась установленное число раз.
[00155] Со ссылкой на фиг. 5, устройство 100 декодирования изображения может ограничивать третью единицу 520c кодирования, которая находится в центральном местоположении из нечетного числа третьих единиц 520b, 520c и 520d кодирования, включенных в неквадратную вторую единицу 510 кодирования, чтобы она больше не разделялась, чтобы она разделялась с использованием предопределенного способа разделения (например, разделялась только на четыре единицы кодирования или разделялась с использованием способа разделения второй единицы 510 кодирования) или чтобы она разделялась только предопределенное число раз (например, разделялась только n раз (где n>0)). Однако ограничения на третью единицу 520c кодирования в центральном местоположении не ограничены вышеупомянутыми примерами, и следует понимать, что ограничения могут включать в себя различные ограничения для декодирования третьей единицы 520c кодирования в центральном местоположении отлично от других третьих единиц 520b и 520d кодирования.
[00156] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать информацию режима разделенной формы, которая используется, чтобы разделять текущую единицу кодирования, из предопределенного местоположения в текущей единице кодирования.
[00157] Фиг. 6 иллюстрирует выполняемый устройством 100 декодирования изображения способ определения предопределенной единицы кодирования из нечетного числа единиц кодирования, в соответствии с вариантом осуществления.
[00158] Со ссылкой на фиг. 6, информация режима разделенной формы текущей единицы 600 или 650 кодирования может быть получена из выборки предопределенного местоположения (например, выборки 640 или 690 центрального местоположения) из множества выборок, включенных в текущую единицу 600 или 650 кодирования. Однако предопределенное местоположение в текущей единице 600 кодирования, из которого может быть получен по меньшей мере один фрагмент информации режима разделенной формы, не ограничено центральным местоположением на фиг. 6 и может включать в себя различные местоположения, включенные в текущую единицу 600 кодирования (например, верхнее, нижнее, левое, правое, верхнее левое, нижнее левое, верхнее правое и нижнее правое местоположения). Устройство 100 декодирования изображения может получать информацию режима разделенной формы из предопределенного местоположения и может определять разделить или не разделять текущую единицу кодирования на единицы кодирования с различными формами и различными размерами.
[00159] В соответствии с вариантом осуществления, когда текущая единица кодирования разделяется на предопределенное число единиц кодирования, устройство 100 декодирования изображения может выбирать одну из единиц кодирования. Различные способы могут использоваться, чтобы выбирать одну из множества единиц кодирования, как будет описано ниже в отношении различных вариантов осуществления.
[00160] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять текущую единицу кодирования на множество единиц кодирования и может определять единицу кодирования в предопределенном местоположении.
[00161] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать информацию, указывающую местоположения нечетного числа единиц кодирования, чтобы определять единицу кодирования в центральном местоположении из нечетного числа единиц кодирования. Со ссылкой на фиг. 6, устройство 100 декодирования изображения может определять нечетное число единиц 620a, 620b и 620c кодирования или нечетное число единиц 660a, 660b и 660c кодирования путем разделения текущей единицы 600 кодирования или текущей единицы 650 кодирования. Устройство 100 декодирования изображения может определять среднюю единицу 620b кодирования или среднюю единицу 660b кодирования с использованием информации о местоположениях нечетного числа единиц 620a, 620b и 620c кодирования или нечетного числа единиц 660a, 660b и 660c кодирования. Например, устройство 100 декодирования изображения может определять единицу 620b кодирования центрального местоположения путем определения местоположений единиц 620a, 620b и 620c кодирования на основе информации, указывающей местоположения предопределенных выборок, включенных в единицы 620a, 620b и 620c кодирования. Подробно, устройство 100 декодирования изображения может определять единицу 620b кодирования в центральном местоположении путем определения местоположений единиц 620a, 620b и 620c кодирования на основе информации, указывающей местоположения верхних левых выборок 630a, 630b и 630c единиц 620a, 620b и 620c кодирования.
[00162] В соответствии с вариантом осуществления, информация, указывающая местоположения верхних левых выборок 630a, 630b и 630c, которые включены в единицы 620a, 620b и 620c кодирования, соответственно, может включать в себя информацию о местоположениях или координатах единиц 620a, 620b и 620c кодирования в картинке. В соответствии с вариантом осуществления, информация, указывающая местоположения верхних левых выборок 630a, 630b и 630c, которые включены в единицы 620a, 620b и 620c кодирования, соответственно, может включать в себя информацию, указывающую ширины или высоты единиц 620a, 620b и 620c кодирования, включенных в текущую единицу 600 кодирования, и ширины или высоты могут соответствовать информации, указывающей различия между координатами единиц 620a, 620b и 620c кодирования в картинке. То есть, устройство 100 декодирования изображения может определять единицу 620b кодирования в центральном местоположении путем непосредственного использования информации о местоположениях или координатах единиц 620a, 620b и 620c кодирования в картинке или с использованием информации о ширинах или высотах единиц кодирования, которые соответствуют значениям разности между координатами.
[00163] В соответствии с вариантом осуществления, информация, указывающая местоположение верхней левой выборки 630a верхней единицы 620a кодирования, может включать в себя координаты (xa, ya), информация, указывающая местоположение верхней левой выборки 630b средней единицы 620b кодирования, может включать в себя координаты (xb, yb), и информация, указывающая местоположение верхней левой выборки 630c нижней единицы 620c кодирования, может включать в себя координаты (xc, yc). Устройство 100 декодирования изображения может определять среднюю единицу 620b кодирования с использованием координат верхних левых выборок 630a, 630b и 630c, которые включены в единицы 620a, 620b и 620c кодирования, соответственно. Например, когда координаты верхних левых выборок 630a, 630b и 630c отсортированы в возрастающем или убывающем порядке, единица 620b кодирования, включающая в себя координаты (xb, yb) выборки 630b в центральном местоположении, может определяться как единица кодирования в центральном местоположении из единиц 620a, 620b и 620c кодирования, определенных путем разделения текущей единицы 600 кодирования. Однако координаты, указывающие местоположения верхних левых выборок 630a, 630b и 630c, могут включать в себя координаты, указывающие абсолютные местоположения в картинке, или могут использовать координаты (dxb, dyb), указывающие относительное местоположение верхней левой выборки 630b средней единицы 620b кодирования, и координаты (dxc, dyc), указывающие относительное местоположение верхней левой выборки 630c нижней единицы 620c кодирования со ссылкой на местоположение верхней левой выборки 630a верхней единицы 620a кодирования. Также, способ определения единицы кодирования в предопределенном местоположении с использованием координат выборки, включенной в единицу кодирования, как информации, указывающей местоположение выборки, не должен пониматься как ограниченный вышеупомянутым способом и может включать в себя различные арифметические способы, способные использовать координаты выборки.
[00164] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять текущую единицу 600 кодирования на множество единиц 620a, 620b и 620c кодирования и может выбирать одну из единиц 620a, 620b и 620c кодирования на основе предопределенного критерия. Например, устройство 100 декодирования изображения может выбирать единицу 620b кодирования, которая имеет размер, отличный от размера других из единиц 620a, 620b и 620c кодирования.
[00165] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять ширину или высоту каждой из единиц 620a, 620b и 620c кодирования с использованием координат (xa, ya), которые являются информацией, указывающей местоположение верхней левой выборки 630a верхней единицы 620a кодирования, координат (xb, yb), которые являются информацией, указывающей местоположение верхней левой выборки 630b средней единицы 620b кодирования, и координат (xc, yc), которые являются информацией, указывающей местоположение верхней левой выборки 630c нижней единицы 620c кодирования. Устройство 100 декодирования изображения может определять соответственные размеры единиц 620a, 620b и 620c кодирования с использованием координат (xa, ya), (xb, yb) и (xc, yc), указывающих местоположения единиц 620a, 620b и 620c кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять ширину верхней единицы 620a кодирования как ширину текущей единицы 600 кодирования. Устройство 100 декодирования изображения может определять высоту верхней единицы 620a кодирования как yb-ya. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять ширину средней единицы 620b кодирования как ширину текущей единицы 600 кодирования. Устройство 100 декодирования изображения может определять высоту средней единицы 620b кодирования как yc-yb. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять ширину или высоту нижней единицы 620c кодирования с использованием ширины или высоты текущей единицы 600 кодирования или ширин или высот верхней и средней единиц 620a и 620b кодирования. Устройство 100 декодирования изображения может определять единицу кодирования, которая имеет размер, отличный от размера других, на основе определенных ширин и высот единиц 620a, 620b и 620c кодирования. Со ссылкой на фиг. 6, устройство 100 декодирования изображения может определять среднюю единицу 620b кодирования, которая имеет размер, отличный от размера верхней и нижней единиц 620a и 620c кодирования, как единицу кодирования предопределенного местоположения. Однако выполняемый устройством 100 декодирования изображения вышеупомянутый способ определения единицы кодирования, имеющей размер, отличный от размера других единиц кодирования, соответствует только примеру определения единицы кодирования в предопределенном местоположении с использованием размеров единиц кодирования, которые определяются на основе координат выборок, и, таким образом, могут использоваться различные способы определения единицы кодирования в предопределенном местоположении путем сравнения размеров единиц кодирования, которые определяются на основе координат предопределенных выборок.
[00166] Устройство 100 декодирования изображения может определять ширину или высоту каждой из единиц 660a, 660b и 660c кодирования с использованием координат (xd, yd), которые являются информацией, указывающей местоположение верхней левой выборки 670a левой единицы 660a кодирования, координат (xe, ye), которые являются информацией, указывающей местоположение верхней левой выборки 670b средней единицы 660b кодирования, и координат (xf, yf), которые являются информацией, указывающей местоположение верхней левой выборки 670c правой единицы 660c кодирования. Устройство 100 декодирования изображения может определять соответственные размеры единиц 660a, 660b и 660c кодирования с использованием координат (xd, yd), (xe, ye) и (xf, yf), указывающих местоположения единиц 660a, 660b и 660c кодирования.
[00167] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять ширину левой единицы 660a кодирования как xe-xd. Устройство 100 декодирования изображения может определять высоту левой единицы 660a кодирования как высоту текущей единицы 650 кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять ширину средней единицы 660b кодирования как xf-xe. Устройство 100 декодирования изображения может определять высоту средней единицы 660b кодирования как высоту текущей единицы 650 кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять ширину или высоту правой единицы 660c кодирования с использованием ширины или высоты текущей единицы 650 кодирования или ширин или высот левой и средней единиц 660a и 660b кодирования. Устройство 100 декодирования изображения может определять единицу кодирования, которая имеет размер, отличный от размера других, на основе определенных ширин и высот единиц 660a, 660b и 660c кодирования. Со ссылкой на фиг. 6, устройство 100 декодирования изображения может определять среднюю единицу 660b кодирования, которая имеет размер, отличный от размеров левой и правой единиц 660a и 660c кодирования, как единицу кодирования предопределенного местоположения. Однако выполняемый устройством 100 декодирования изображения вышеупомянутый способ определения единицы кодирования, имеющей размер, отличный от размера других единиц кодирования, просто соответствует примеру определения единицы кодирования в предопределенном местоположении с использованием размеров единиц кодирования, которые определяются на основе координат выборок, и, таким образом, могут использоваться различные способы определения единицы кодирования в предопределенном местоположении путем сравнения размеров единиц кодирования, которые определяются на основе координат предопределенных выборок.
[00168] Однако местоположения выборок, учитываемых для определения местоположений единиц кодирования, не ограничены вышеупомянутыми верхними левыми местоположениями, и может использоваться информация о произвольных местоположениях выборок, включенных в единицы кодирования.
[00169] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может выбирать единицу кодирования в предопределенном местоположении из нечетного числа единиц кодирования, определенных путем разделения текущей единицы кодирования, с учетом формы текущей единицы кодирования. Например, когда текущая единица кодирования имеет неквадратную форму, ширина которой длиннее, чем ее высота, устройство 100 декодирования изображения может определять единицу кодирования в предопределенном местоположении в горизонтальном направлении. То есть, устройство 100 декодирования изображения может определять одну из единиц кодирования в разных местоположениях в горизонтальном направлении и может налагать ограничение на единицу кодирования. Когда текущая единица кодирования имеет неквадратную форму, высота которой длиннее, чем ее ширина, устройство 100 декодирования изображения может определять единицу кодирования в предопределенном местоположении в вертикальном направлении. То есть, устройство 100 декодирования изображения может определять одну из единиц кодирования в разных местоположениях в вертикальном направлении и может налагать ограничение на единицу кодирования.
[00170] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать информацию, указывающую соответственные местоположения четного числа единиц кодирования, чтобы определять единицу кодирования в предопределенном местоположении из четного числа единиц кодирования. Устройство 100 декодирования изображения может определять четное число единиц кодирования путем разделения (двоичного разделения) текущей единицы кодирования и может определять единицу кодирования в предопределенном местоположении с использованием информации о местоположениях четного числа единиц кодирования. Операция, относящаяся к этому, может соответствовать операции определения единицы кодирования в предопределенном местоположении (например, центральном местоположении) из нечетного числа единиц кодирования, что описано подробно выше со ссылкой на фиг. 6, и таким образом подробные описания этого здесь опущены.
[00171] В соответствии с вариантом осуществления, когда неквадратная текущая единица кодирования разделяется на множество единиц кодирования, предопределенная информация о единице кодирования в предопределенном местоположении может использоваться в процессе разделения, чтобы определять единицу кодирования в предопределенном местоположении из множества единиц кодирования. Например, устройство 100 декодирования изображения может использовать по меньшей мере одно из информации формы блока и информации режима разделенной формы, которая хранится в выборке, включенной в среднюю единицу кодирования, в процессе разделения, чтобы определять единицу кодирования в центральном местоположении из множества единиц кодирования, определенных путем разделения текущей единицы кодирования.
[00172] Со ссылкой на фиг. 6, устройство 100 декодирования изображения может разделять текущую единицу 600 кодирования на множество единиц 620a, 620b и 620c кодирования на основе информации режима разделенной формы и может определять единицу 620b кодирования в центральном местоположении из множества единиц 620a, 620b и 620c кодирования. Более того, устройство 100 декодирования изображения может определять единицу 620b кодирования в центральном местоположении, с учетом местоположения, из которого получают информацию режима разделенной формы. То есть, информация режима разделенной формы текущей единицы 600 кодирования может быть получена из выборки 640 в центральном местоположении текущей единицы 600 кодирования, и, когда текущая единица 600 кодирования разделяется на множество единиц 620a, 620b и 620c кодирования на основе информации режима разделенной формы, единица 620b кодирования, включающая в себя выборку 640, может определяться как единица кодирования в центральном местоположении. Однако информация, используемая, чтобы определять единицу кодирования в центральном местоположении, не ограничена информацией режима разделенной формы, и различные типы информации могут использоваться, чтобы определять единицу кодирования в центральном местоположении.
[00173] В соответствии с вариантом осуществления, предопределенная информация для идентификации единицы кодирования в предопределенном местоположении может быть получена из предопределенной выборки, включенной в единицу кодирования, подлежащую определению. Со ссылкой на фиг. 6, устройство 100 декодирования изображения может использовать информацию режима разделенной формы, которую получают из выборки в предопределенном местоположении в текущей единице 600 кодирования (например, выборки в центральном местоположении текущей единицы 600 кодирования), чтобы определять единицу кодирования в предопределенном местоположении из множества единиц 620a, 620b и 620c кодирования, определенных путем разделения текущей единицы 600 кодирования (например, единицы кодирования в центральном местоположении из множества разделенных единиц кодирования). То есть, устройство 100 декодирования изображения может определять выборку в предопределенном местоположении с учетом формы блока текущей единицы 600 кодирования, может определять единицу 620b кодирования, включающую в себя выборку, из которой получают предопределенную информацию (например, информацию режима разделенной формы), из множества единиц 620a, 620b и 620c кодирования, определенных путем разделения текущей единицы 600 кодирования, и может налагать предопределенное ограничение на единицу 620b кодирования. Со ссылкой на фиг. 6, в соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять выборку 640 в центральном местоположении текущей единицы 600 кодирования как выборку, из которой получают предопределенную информацию, и может налагать предопределенное ограничение на единицу 620b кодирования, включающую в себя выборку 640, в операции декодирования. Однако местоположение выборки, из которой получают предопределенную информацию, не ограничено вышеупомянутым местоположением и может включать в себя произвольные местоположения выборок, включенных в единицу 620b кодирования, подлежащую определению для ограничения.
[00174] В соответствии с вариантом осуществления, местоположение выборки, из которой получают предопределенную информацию, может определяться на основе формы текущей единицы 600 кодирования. В соответствии с вариантом осуществления, информация формы блока может указывать, имеет ли текущая единица кодирования квадратную или неквадратную форму, и местоположение выборки, из которой получают предопределенную информацию, может определяться на основе формы. Например, устройство 100 декодирования изображения может определять выборку, расположенную на границе для разделения по меньшей мере одной из ширины и высоты текущей единицы кодирования пополам, как выборку, из которой получают предопределенную информацию, с использованием по меньшей мере одного из информации о ширине текущей единицы кодирования и информации о высоте текущей единицы кодирования. В качестве другого примера, когда информация формы блока текущей единицы кодирования указывает неквадратную форму, устройство 100 декодирования изображения может определять одну из выборок, смежных с границей для разделения длинной стороны текущей единицы кодирования пополам, как выборку, из которой получают предопределенную информацию.
[00175] В соответствии с вариантом осуществления, когда текущая единица кодирования разделяется на множество единиц кодирования, устройство 100 декодирования изображения может использовать информацию режима разделенной формы, чтобы определять единицу кодирования в предопределенном местоположении из множества единиц кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать информацию режима разделенной формы из выборки в предопределенном местоположении в единице кодирования и может разделять множество единиц кодирования, которые сгенерированы путем разделения текущей единицы кодирования, с использованием информации режима разделенной формы, которую получают из выборки предопределенного местоположения в каждой из множества единиц кодирования. То есть, единица кодирования может рекурсивно разделяться на основе информации режима разделенной формы, которую получают из выборки в предопределенном местоположении в каждой единице кодирования. Операция рекурсивного разделения единицы кодирования описана выше со ссылкой на фиг. 5, и, таким образом, ее подробные описания здесь опущены.
[00176] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять одну или несколько единиц кодирования путем разделения текущей единицы кодирования и может определять порядок декодирования одной или нескольких единиц кодирования, на основе предопределенного блока (например, текущей единицы кодирования).
[00177] Фиг. 7 иллюстрирует порядок обработки множества единиц кодирования, когда устройство 100 декодирования изображения определяет множество единиц кодирования путем разделения текущей единицы кодирования, в соответствии с вариантом осуществления.
[00178] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторые единицы 710a и 710b кодирования путем разделения первой единицы 700 кодирования в вертикальном направлении, может определять вторые единицы 730a и 730b кодирования путем разделения первой единицы 700 кодирования в горизонтальном направлении или может определять вторые единицы 750a, 750b, 750c и 750d кодирования путем разделения первой единицы 700 кодирования в вертикальном и горизонтальном направлениях, на основе информации режима разделенной формы.
[00179] Со ссылкой на фиг. 7, устройство 100 декодирования изображения может определять, что следует обработать вторые единицы 710a и 710b кодирования в порядке 710c горизонтального направления, причем вторые единицы 710a и 710b кодирования определяются путем разделения первой единицы 700 кодирования в вертикальном направлении. Устройство 100 декодирования изображения может определять, что следует обработать вторые единицы 730a и 730b кодирования в порядке 730c вертикального направления, причем вторые единицы 730a и 730b кодирования определяются путем разделения первой единицы 700 кодирования в горизонтальном направлении. Устройство 100 декодирования изображения может определять вторые единицы 750a, 750b, 750c и 750d кодирования, которые определяются путем разделения первой единицы 700 кодирования в вертикальном и горизонтальном направлениях, в соответствии с предопределенным порядком (например, порядок растрового сканирования или порядок Z-сканирования 750e), посредством чего обрабатываются единицы кодирования в строке, и затем обрабатываются единицы кодирования в следующей строке.
[00180] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может рекурсивно разделять единицы кодирования. Со ссылкой на фиг. 7, устройство 100 декодирования изображения может определять множество единиц 710a и 710b, 730a и 730b или 750a, 750b, 750c и 750d кодирования путем разделения первой единицы 700 кодирования и может рекурсивно разделять каждую из определенного множества единиц 710a и 710b, 730a и 730b или 750a, 750b, 750c и 750d кодирования. Способ разделения множества единиц 710a и 710b, 730a и 730b или 750a, 750b, 750c и 750d кодирования может соответствовать способу разделения первой единицы 700 кодирования. Соответственно, каждая из множества единиц 710a и 710b, 730a и 730b или 750a, 750b, 750c и 750d кодирования может независимо разделяться на множество единиц кодирования. Со ссылкой на фиг. 7, устройство 100 декодирования изображения может определять вторые единицы 710a и 710b кодирования путем разделения первой единицы 700 кодирования в вертикальном направлении и может определять, что следует независимо разделить каждую из вторых единиц 710a и 710b кодирования или не разделять вторые единицы 710a и 710b кодирования.
[00181] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третьи единицы 720a и 720b кодирования путем разделения левой второй единицы 710a кодирования в горизонтальном направлении и может не разделять правую вторую единицу 710b кодирования.
[00182] В соответствии с вариантом осуществления, порядок обработки единиц кодирования может определяться на основе операции разделения единицы кодирования. Другими словами, порядок обработки разделенных единиц кодирования может определяться на основе порядка обработки единиц кодирования непосредственно до разделения. Устройство 100 декодирования изображения может определять порядок обработки третьих единиц 720a и 720b кодирования, определенных путем разделения левой второй единицы 710a кодирования, независимо от правой второй единицы 710b кодирования. Поскольку третьи единицы 720a и 720b кодирования определяются путем разделения левой второй единицы 710a кодирования в горизонтальном направлении, третьи единицы 720a и 720b кодирования могут обрабатываться в порядке 720c вертикального направления. Поскольку левая и правая вторые единицы 710a и 710b кодирования обрабатываются в порядке 710c горизонтального направления, правая вторая единица 710b кодирования может обрабатываться после того, как третьи единицы 720a и 720b кодирования, включенные в левую вторую единицу 710a кодирования, обработаны в порядке 720c вертикального направления. Следует понимать, что операция определения порядка обработки единиц кодирования на основе единицы кодирования перед разделением не ограничена вышеупомянутым примером, и могут использоваться различные способы, чтобы независимо обрабатывать единицы кодирования, которые разделяются и определяются с различными формами, в предопределенном порядке.
[00183] Фиг. 8 иллюстрирует выполняемый устройством 100 декодирования изображения процесс определения, что текущая единица кодирования подлежит разделению на нечетное число единиц кодирования, когда единицы кодирования не могут быть обработаны в предопределенном порядке, в соответствии с вариантом осуществления.
[00184] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять, что текущая единица кодирования подлежит разделению на нечетное число единиц кодирования, на основе полученной информации режима разделенной формы. Со ссылкой на фиг. 8, квадратная первая единица 800 кодирования может разделяться на неквадратные вторые единицы 810a и 810b кодирования, и вторые единицы 810a и 810b кодирования могут независимо разделяться на третьи единицы 820a и 820b, и 820c, 820d и 820e кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять множество третьих единиц 820a и 820b кодирования путем разделения левой второй единицы 810a кодирования в горизонтальном направлении и может разделять правую вторую единицу 810b кодирования на нечетное число третьих единиц 820c, 820d и 820e кодирования.
[00185] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять, существует ли нечетное число разделенных единиц кодирования, путем определения, возможно ли обработать третьи единицы 820a и 820b, и 820c, 820d и 820e кодирования в предопределенном порядке. Со ссылкой на фиг. 8, устройство 100 декодирования изображения может определять третьи единицы 820a и 820b, и 820c, 820d и 820e кодирования путем рекурсивного разделения первой единицы 800 кодирования. Устройство 100 декодирования изображения может определять, подлежит ли любая из первой единицы 800 кодирования, вторых единиц 810a и 810b кодирования или третьих единиц 820a и 820b, и 820c, 820d и 820e кодирования разделению на нечетное число единиц кодирования, на основе по меньшей мере одного из информации формы блока и информации режима разделенной формы. Например, вторая единица 810b кодирования, расположенная справа среди вторых единиц 810a и 810b кодирования, может разделяться на нечетное число третьих единиц 820c, 820d и 820e кодирования. Порядок обработки множества единиц кодирования, включенных в первую единицу 800 кодирования, может представлять собой предопределенный порядок (например, порядок Z-сканирования 830), и устройство 100 декодирования изображения может определять, удовлетворяют ли третьи единицы 820c, 820d и 820e кодирования, которые определяются путем разделения правой второй единицы 810b кодирования на нечетное число единиц кодирования, условию для обработки в предопределенном порядке.
[00186] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять, удовлетворяют ли третьи единицы 820a и 820b, и 820c, 820d и 820e кодирования, включенные в первую единицу 800 кодирования, условию для обработки в предопределенном порядке, и условие относится к тому, подлежит ли по меньшей мере одно из ширины и высоты вторых единиц 810a и 810b кодирования разделению пополам вдоль границы третьих единиц 820a и 820b, и 820c, 820d и 820e кодирования. Например, третьи единицы 820a и 820b кодирования, определенные, когда высота левой второй единицы 810a кодирования неквадратной формы разделяется пополам, могут удовлетворять условию. Может определяться, что третьи единицы 820c, 820d и 820e кодирования не удовлетворяют условию, поскольку границы третьих единиц 820c, 820d и 820e кодирования, определенных, когда правая вторая единица 810b кодирования разделяется на три единицы кодирования, не способны разделить ширину или высоту правой второй единицы 810b кодирования пополам. Когда условие не удовлетворено, как описано выше, устройство 100 декодирования изображения может определять несвязность порядка сканирования и может определять, что правая вторая единица 810b кодирования подлежит разделению на нечетное число единиц кодирования, на основе результата определения. В соответствии с вариантом осуществления, когда единица кодирования разделяется на нечетное число единиц кодирования, устройство 100 декодирования изображения может налагать предопределенное ограничение на единицу кодирования в предопределенном местоположении из разделенных единиц кодирования. Ограничение или предопределенное местоположение описано выше в отношении различных вариантов осуществления, и таким образом, их подробные описания здесь опущены.
[00187] Фиг. 9 иллюстрирует выполняемый устройством 100 декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения первой единицы 900 кодирования, в соответствии с вариантом осуществления.
[00188] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять первую единицу 900 кодирования, на основе информации режима разделенной формы, которую получают посредством приемника (не показано). Квадратная первая единица 900 кодирования может разделяться на четыре квадратные единицы кодирования или может разделяться на множество неквадратных единиц кодирования. Например, со ссылкой на фиг. 9, когда первая единица 900 кодирования является квадратом и информация режима разделенной формы указывает на то, чтобы разделить первую единицу 900 кодирования на неквадратные единицы кодирования, устройство 100 декодирования изображения может разделять первую единицу 900 кодирования на множество неквадратных единиц кодирования. Подробно, когда информация режима разделенной формы указывает на то, чтобы определять нечетное число единиц кодирования путем разделения первой единицы 900 кодирования в горизонтальном направлении или вертикальном направлении, устройство 100 декодирования изображения может разделять квадратную первую единицу 900 кодирования на нечетное число единиц кодирования, например, вторые единицы 910a, 910b и 910c кодирования, определенные путем разделения квадратной первой единицы 900 кодирования в вертикальном направлении, или вторые единицы 920a, 920b и 920c кодирования, определенные путем разделения квадратной первой единицы 900 кодирования в горизонтальном направлении.
[00189] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять, удовлетворяют ли вторые единицы 910a, 910b, 910c, 920a, 920b и 920c кодирования, включенные в первую единицу 900 кодирования условию для обработки в предопределенном порядке, и условие относится к тому, подлежит ли по меньшей мере одно из ширины и высоты первой единицы 900 кодирования разделению пополам вдоль границы вторых единиц 910a, 910b, 910c, 920a, 920b и 920c кодирования. Со ссылкой на фиг. 9, поскольку границы вторых единиц 910a, 910b и 910c кодирования, определенных путем разделения квадратной первой единицы 900 кодирования в вертикальном направлении, не разделяют ширину первой единицы 900 кодирования пополам, может определяться, что первая единица 900 кодирования не удовлетворяет условию для обработки в предопределенном порядке. К тому же, поскольку границы вторых единиц 920a, 920b и 920c кодирования, определенных путем разделения квадратной первой единицы 900 кодирования в горизонтальном направлении, не разделяют высоту первой единицы 900 кодирования пополам, может определяться, что первая единица 900 кодирования не удовлетворяет условию для обработки в предопределенном порядке. Когда условие не удовлетворено, как описано выше, устройство 100 декодирования изображения может определять несвязность порядка сканирования и может определять, что первая единица 900 кодирования подлежит разделению на нечетное число единиц кодирования, на основе результата определения. В соответствии с вариантом осуществления, когда единица кодирования разделяется на нечетное число единиц кодирования, устройство 100 декодирования изображения может налагать предопределенное ограничение на единицу кодирования в предопределенном местоположении из разделенных единиц кодирования. Ограничение или предопределенное местоположение описано выше в отношении различных вариантов осуществления, и таким образом его подробные описания здесь опущены.
[00190] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять единицы кодирования с различными формами путем разделения первой единицы кодирования.
[00191] Со ссылкой на фиг. 9, устройство 100 декодирования изображения может разделять квадратную первую единицу 900 кодирования или неквадратную первую единицу 930 или 950 кодирования на единицы кодирования с различными формами.
[00192] Фиг. 10 иллюстрирует, что форма, на которую можно разделить вторую единицу кодирования, ограничена, когда вторая единица кодирования, имеющая неквадратную форму, которая определяется, когда устройство 100 декодирования изображения разделяет первую единицу 1000 кодирования, удовлетворяет предопределенному условию, в соответствии с вариантом осуществления.
[00193] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять разделить квадратную первую единицу 1000 кодирования на неквадратные вторые единицы 1010a и 1010b или 1020a и 1020b кодирования, на основе информации режима разделенной формы, которую получают посредством приемника (не показан). Вторые единицы 1010a и 1010b или 1020a и 1020b кодирования могут независимо разделяться. Соответственно, устройство 100 декодирования изображения может определять, разделить или не разделять каждую из вторых единиц 1010a и 1010b или 1020a и 1020b кодирования на множество единиц кодирования, на основе информации режима разделенной формы каждой из вторых единиц 1010a и 1010b или 1020a и 1020b кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третьи единицы 1012a и 1012b кодирования путем разделения неквадратной левой второй единицы 1010a кодирования, которая определяется путем разделения первой единицы 1000 кодирования в вертикальном направлении, в горизонтальном направлении. Однако когда левая вторая единица 1010a кодирования разделяется в горизонтальном направлении, устройство 100 декодирования изображения может ограничивать правую вторую единицу 1010b кодирования, чтобы она не разделялась в горизонтальном направлении, в котором разделяется левая вторая единица 1010a кодирования. Когда третьи единицы 1014a и 1014b кодирования определяются путем разделения правой второй единицы 1010b кодирования в одном и том же направлении, поскольку левая вторая единица 1010a кодирования и правая вторая единица 1010b кодирования разделяются независимо в горизонтальном направлении, могут определяться третьи единицы 1012a и 1012b или 1014a и 1014b кодирования. Однако этот случай служит равно как и случай, в котором устройство 100 декодирования изображения разделяет первую единицу 1000 кодирования на четыре квадратные вторые единицы 1030a, 1030b, 1030c и 1030d кодирования, на основе информации режима разделенной формы, и может быть неэффективным с точки зрения декодирования изображения.
[00194] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третьи единицы 1022a и 1022b или 1024a и 1024b кодирования путем разделения неквадратной второй единицы 1020a или 1020b кодирования, которая определяется путем разделения первой единицы 1000 кодирования в горизонтальном направлении, в вертикальном направлении. Однако, когда вторая единица кодирования (например, верхняя вторая единица 1020a кодирования) разделяется в вертикальном направлении, по вышеупомянутой причине, устройство 100 декодирования изображения может ограничивать другую вторую единицу кодирования (например, нижнюю вторую единицу 1020b кодирования), чтобы она не разделялась в вертикальном направлении, в котором разделяется верхняя вторая единица 1020a кодирования.
[00195] Фиг. 11 иллюстрирует выполняемый устройством 100 декодирования изображения процесс разделения квадратной единицы кодирования, когда информация режима разделенной формы указывает, что квадратная единица кодирования не подлежит разделению на четыре квадратных единицы кодирования, в соответствии с вариантом осуществления.
[00196] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторые единицы 1110a и 1110b или 1120a и 1120b и т.д. кодирования путем разделения первой единицы 1100 кодирования, на основе информации режима разделенной формы. Информация режима разделенной формы может включать в себя информацию о различных способах разделения единицы кодирования, но информация о различных способах разделения может не включать в себя информацию для разделения единицы кодирования на четыре квадратные единицы кодирования. На основе информации режима разделенной формы, устройство 100 декодирования изображения не разделяет квадратную первую единицу 1100 кодирования на четыре квадратные вторые единицы 1130a, 1130b, 1130c и 1130d кодирования. Устройство 100 декодирования изображения может определять неквадратные вторые единицы 1110a и 1110b или 1120a и 1120b и т.д. кодирования, на основе информации режима разделенной формы.
[00197] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может независимо разделять неквадратные вторые единицы 1110a и 1110b или 1120a и 1120b и т.д. кодирования. Каждая из вторых единиц 1110a и 1110b или 1120a и 1120b и т.д. кодирования может рекурсивно разделяться в предопределенном порядке, и этот способ разделения может соответствовать способу разделения первой единицы 1100 кодирования, на основе информации режима разделенной формы.
[00198] Например, устройство 100 декодирования изображения может определять квадратные третьи единицы 1112a и 1112b кодирования путем разделения левой второй единицы 1110a кодирования в горизонтальном направлении и может определять квадратные третьи единицы 1114a и 1114b кодирования путем разделения правой второй единицы 1110b кодирования в горизонтальном направлении. Более того, устройство 100 декодирования изображения может определять квадратные третьи единицы 1116a, 1116b, 1116c и 1116d кодирования путем разделения как левой второй единицы 1110a кодирования, так и правой второй единицы 1110b кодирования в горизонтальном направлении. В этом случае, могут определяться единицы кодирования, имеющие ту же самую форму, что и четыре квадратные вторые единицы 1130a, 1130b, 1130c и 1130d кодирования, разделенные из первой единицы 1100 кодирования.
[00199] В качестве другого примера, устройство 100 декодирования изображения может определять квадратные третьи единицы 1122a и 1122b кодирования путем разделения верхней второй единицы 1120a кодирования в вертикальном направлении и может определять квадратные третьи единицы 1124a и 1124b кодирования путем разделения нижней второй единицы 1120b кодирования в вертикальном направлении. Более того, устройство 100 декодирования изображения может определять квадратные третьи единицы 1126a, 1126b, 1126c и 1126d кодирования путем разделения как верхней второй единицы 1120a кодирования, так и нижней второй единицы 1120b кодирования в вертикальном направлении. В этом случае, могут определяться единицы кодирования, имеющие ту же самую форму, что и четыре квадратные вторые единицы 1130a, 1130b, 1130c и 1130d кодирования, разделенные из первой единицы 1100 кодирования.
[00200] Фиг. 12 иллюстрирует, что порядок обработки между множеством единиц кодирования может изменяться в зависимости от процесса разделения единицы кодирования, в соответствии с вариантом осуществления.
[00201] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять первую единицу 1200 кодирования, на основе информации режима разделенной формы. Когда форма блока указывает квадратную форму и информация режима разделенной формы указывает на то, чтобы разделить первую единицу 1200 кодирования по меньшей мере в одном из горизонтального и вертикального направлений, устройство 100 декодирования изображения может определять вторые единицы 1210a и 1210b или 1220a и 1220b и т.д. кодирования путем разделения первой единицы 1200 кодирования. Со ссылкой на фиг. 12, неквадратные вторые единицы 1210a и 1210b или 1220a и 1220b кодирования, определенные путем разделения первой единицы 1200 кодирования только в горизонтальном направлении или вертикальном направлении, могут независимо разделяться на основе информации режима разделенной формы каждой единицы кодирования. Например, устройство 100 декодирования изображения может определять третьи единицы 1216a, 1216b, 1216c и 1216d кодирования путем разделения вторых единиц 1210a и 1210b кодирования, которые сгенерированы путем разделения первой единицы 1200 кодирования в вертикальном направлении, в горизонтальном направлении, и может определять третьи единицы 1226a, 1226b, 1226c и 1226d кодирования путем разделения вторых единиц 1220a и 1220b кодирования, которые сгенерированы путем разделения первой единицы 1200 кодирования в горизонтальном направлении, в вертикальном направлении. Операция разделения вторых единиц 1210a и 1210b или 1220a и 1220b кодирования описана выше со ссылкой на фиг. 11, и, таким образом, ее подробные описания здесь опущены.
[00202] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может обрабатывать единицы кодирования в предопределенном порядке. Операция обработки единиц кодирования в предопределенном порядке описана выше со ссылкой на фиг. 7, и, таким образом, ее подробные описания здесь опущены. Со ссылкой на фиг. 12, устройство 100 декодирования изображения может определять четыре квадратных третьих единицы 1216a, 1216b, 1216c, и 1216d или 1226a, 1226b, 1226c, и 1226d кодирования путем разделения квадратной первой единицы 1200 кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять порядки обработки третьих единиц 1216a, 1216b, 1216c и 1216d или 1226a, 1226b, 1226c и 1226d кодирования на основе разделенной формы, на которую разделяется первая единица 1200 кодирования.
[00203] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третьи единицы 1216a, 1216b, 1216c и 1216d кодирования путем разделения вторых единиц 1210a и 1210b кодирования, сгенерированных путем разделения первой единицы 1200 кодирования в вертикальном направлении, в горизонтальном направлении, и может обрабатывать третьи единицы 1216a, 1216b, 1216c и 1216d кодирования в порядке 1217 обработки для обработки сначала третьих единиц 1216a и 1216c кодирования, которые включены в левую вторую единицу 1210a кодирования, в вертикальном направлении и затем обработки третьих единиц 1216b и 1216d кодирования, которые включены в правую вторую единицу 1210b кодирования, в вертикальном направлении.
[00204] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третьи единицы 1226a, 1226b, 1226c и 1226d кодирования путем разделения вторых единиц 1220a и 1220b кодирования, сгенерированных путем разделения первой единицы 1200 кодирования в горизонтальном направлении, в вертикальном направлении, и может обрабатывать третьи единицы 1226a, 1226b, 1226c и 1226d кодирования в порядке 1227 обработки для обработки сначала третьих единиц 1226a и 1226b кодирования, которые включены в верхнюю вторую единицу 1220a кодирования, в горизонтальном направлении и затем обработки третьих единиц 1226c и 1226d кодирования, которые включены в нижнюю вторую единицу 1220b кодирования, в горизонтальном направлении.
[00205] Со ссылкой на фиг. 12, квадратные третьи единицы 1216a, 1216b, 1216c и 1216d, и 1226a, 1226b, 1226c и 1226d кодирования могут определяться путем разделения вторых единиц 1210a и 1210b, и 1220a и 1220b кодирования, соответственно. Хотя вторые единицы 1210a и 1210b кодирования определяются путем разделения первой единицы 1200 кодирования в вертикальном направлении отлично от вторых единиц 1220a и 1220b кодирования, которые определяются путем разделения первой единицы 1200 кодирования в горизонтальном направлении, третьи единицы 1216a, 1216b, 1216c и 1216d, и 1226a, 1226b, 1226c и 1226d кодирования, разделенные из них, в итоге показывают единицы кодирования одинаковой формы, разделенные из первой единицы 1200 кодирования. Соответственно, путем рекурсивного разделения единицы кодирования по-разному на основе информации режима разделенной формы, устройство 100 декодирования изображения может обрабатывать множество единиц кодирования в разных порядках, даже когда в итоге определяется, что единицы кодирования имеют одну и ту же форму.
[00206] Фиг. 13 иллюстрирует процесс определения глубины единицы кодирования по мере того, как форма и размер единицы кодирования изменяются, когда единица кодирования рекурсивно разделяется, так что определяются множество единиц кодирования, в соответствии с вариантом осуществления.
[00207] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять глубину единицы кодирования, на основе предопределенного критерия. Например, предопределенный критерий может представлять собой длину длинной стороны единицы кодирования. Когда длина длинной стороны единицы кодирования до разделения в 2n раз (n>0) больше длины длинной стороны разделенной текущей единицы кодирования, устройство 100 декодирования изображения может определять, что глубина текущей единицы кодирования увеличивается от глубины единицы кодирования до разделения на n. В дальнейших описаниях, единица кодирования, имеющая увеличенную глубину, выражается как единица кодирования более глубокой глубины.
[00208] Со ссылкой на фиг. 13, в соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторую единицу 1302 кодирования и третью единицу 1304 кодирования более глубоких глубин путем разделения квадратной первой единицы 1300 кодирования на основе информации формы блока, указывающей квадратную форму (например, информация формы блока может быть выражена как '0: SQUARE'). В предположении, что размер квадратной первой единицы 1300 кодирования составляет 2N×2N, вторая единица 1302 кодирования, определенная путем разделения ширины и высоты первой единицы 1300 кодирования на 1/2, может иметь размер N×N. Более того, третья единица 1304 кодирования, определенная путем разделения ширины и высоты второй единицы 1302 кодирования на 1/2, может иметь размер N/2×N/2. В этом случае, ширина и высота третьей единицы 1304 кодирования составляют 1/4 ширины и высоты первой единицы 1300 кодирования. Когда глубина первой единицы 1300 кодирования составляет D, глубина второй единицы 1302 кодирования, ширина и высота которой составляют 1/2 ширины и высоты первой единицы 1300 кодирования, может составлять D+1, и глубина третьей единицы 1304 кодирования, ширина и высота которой составляют 1/4 ширины и высоты первой единицы 1300 кодирования, может составлять D+2.
[00209] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторую единицу 1312 или 1322 кодирования и третью единицу 1314 или 1324 кодирования более глубоких глубин путем разделения неквадратной первой единицы 1310 или 1320 кодирования на основе информации формы блока, указывающей неквадратную форму (например, информация формы блока может быть выражена как '1: NS_VER', указывающая неквадратную форму, высота которой длиннее, чем ее ширина, или как '2: NS_HOR', указывающая неквадратную форму, ширина которой длиннее, чем ее высота).
[00210] Устройство 100 декодирования изображения может определять вторую единицу 1302, 1312 или 1322 кодирования путем разделения по меньшей мере одного из ширины и высоты первой единицы 1310 кодирования, имеющей размер N×2N. То есть, устройство 100 декодирования изображения может определять вторую единицу 1302 кодирования, имеющую размер N×N, или вторую единицу 1322 кодирования, имеющую размер N×N/2, путем разделения первой единицы 1310 кодирования в горизонтальном направлении или может определять вторую единицу 1312 кодирования, имеющую размер N/2×N, путем разделения первой единицы 1310 кодирования в горизонтальном и вертикальном направлениях.
[00211] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторую единицу 1302, 1312 или 1322 кодирования путем разделения по меньшей мере одного из ширины и высоты первой единицы 1320 кодирования, имеющей размер 2N×N. То есть, устройство 100 декодирования изображения может определять вторую единицу 1302 кодирования, имеющую размер N×N, или вторую единицу 1312 кодирования, имеющую размер N/2×N, путем разделения первой единицы 1320 кодирования в вертикальном направлении или может определять вторую единицу 1322 кодирования, имеющую размер N×N/2, путем разделения первой единицы 1320 кодирования в горизонтальном и вертикальном направлениях.
[00212] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третью единицу 1304, 1314 или 1324 кодирования путем разделения по меньшей мере одного из ширины и высоты второй единицы 1302 кодирования, имеющей размер N×N. То есть, устройство 100 декодирования изображения может определять третью единицу 1304 кодирования, имеющую размер N/2×N/2, третью единицу 1314 кодирования, имеющую размер N/4×N/2, или третью единицу 1324 кодирования, имеющую размер N/2×N/4, путем разделения второй единицы 1302 кодирования в вертикальном и горизонтальном направлениях.
[00213] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третью единицу 1304, 1314 или 1324 кодирования путем разделения по меньшей мере одного из ширины и высоты второй единицы 1312 кодирования, имеющей размер N/2×N. То есть, устройство 100 декодирования изображения может определять третью единицу 1304 кодирования, имеющую размер N/2×N/2, или третью единицу 1324 кодирования, имеющую размер N/2×N/4, путем разделения второй единицы 1312 кодирования в горизонтальном направлении, или может определять третью единицу 1314 кодирования, имеющую размер N/4×N/2, путем разделения второй единицы 1312 кодирования в вертикальном и горизонтальном направлениях.
[00214] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третью единицу 1304, 1314 или 1324 кодирования путем разделения по меньшей мере одного из ширины и высоты второй единицы 1322 кодирования, имеющей размер N×N/2. То есть, устройство 100 декодирования изображения может определять третью единицу 1304 кодирования, имеющую размер N/2×N/2, или третью единицу 1314 кодирования, имеющую размер N/4×N/2, путем разделения второй единицы 1322 кодирования в вертикальном направлении или может определять третью единицу 1324 кодирования, имеющую размер N/2×N/4, путем разделения второй единицы 1322 кодирования в вертикальном и горизонтальном направлениях.
[00215] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять квадратную единицу 1300, 1302 или 1304 кодирования в горизонтальном или вертикальном направлении. Например, устройство 100 декодирования изображения может определять первую единицу 1310 кодирования, имеющую размер N×2N, путем разделения первой единицы 1300 кодирования, имеющей размер 2N×2N, в вертикальном направлении или может определять первую единицу 1320 кодирования, имеющую размер 2N×N, путем разделения первой единицы 1300 кодирования в горизонтальном направлении. В соответствии с вариантом осуществления, когда глубина определяется на основе длины наиболее длинной стороны единицы кодирования, глубина единицы кодирования, определенной путем разделения первой единицы 1300 кодирования, имеющей размер 2N×2N в горизонтальном или вертикальном направлении, может быть той же самой, что и глубина первой единицы 1300 кодирования.
[00216] В соответствии с вариантом осуществления, ширина и высота третьей единицы 1314 или 1324 кодирования может составлять 1/4 ширины и высоты первой единицы 1310 или 1320 кодирования. Когда глубина первой единицы 1310 или 1320 кодирования составляет D, глубина второй единицы 1312 или 1322 кодирования, ширина и высота которой составляют 1/2 ширины и высоты первой единицы 1310 или 1320 кодирования, может составлять D+1, и глубина третьей единицы 1314 или 1324 кодирования, ширина и высота которой составляют 1/4 ширины и высоты первой единицы 1310 или 1320 кодирования, может составлять D+2.
[00217] Фиг. 14 иллюстрирует глубины, которые доступны для определения на основе форм и размеров единиц кодирования, и индексы части (PID), которые служат для различения единиц кодирования, в соответствии с вариантом осуществления.
[00218] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторые единицы кодирования с различными формами путем разделения квадратной первой единицы 1400 кодирования. Со ссылкой на фиг. 14, устройство 100 декодирования изображения может определять вторые единицы 1402a и 1402b, 1404a и 1404b, и 1406a, 1406b, 1406c и 1406d кодирования путем разделения первой единицы 1400 кодирования по меньшей мере в одном из вертикального и горизонтального направлений на основе информации режима разделенной формы. То есть, устройство 100 декодирования изображения может определять вторые единицы 1402a и 1402b, 1404a и 1404b, и 1406a, 1406b, 1406c и 1406d кодирования, на основе информации режима разделенной формы первой единицы 1400 кодирования.
[00219] В соответствии с вариантом осуществления, глубины вторых единиц 1402a и 1402b, 1404a и 1404b, и 1406a, 1406b, 1406c и 1406d кодирования, которые определяются на основе информации режима разделенной формы квадратной первой единицы 1400 кодирования, могут определяться на основе длины ее длинной стороны. Например, поскольку длина стороны квадратной первой единицы 1400 кодирования равна длине длинной стороны неквадратной второй единицы 1402a и 1402b, и 1404a и 1404b кодирования, первая единица 1400 кодирования и неквадратные вторые единицы 1402a и 1402b, и 1404a и 1404b кодирования могут иметь одну и ту же глубину, например D. Однако когда устройство 100 декодирования изображения разделяет первую единицу 1400 кодирования на четыре квадратные вторые единицы 1406a, 1406b, 1406c и 1406d кодирования на основе информации режима разделенной формы, поскольку длина стороны квадратных вторых единиц 1406a, 1406b, 1406c и 1406d кодирования составляет 1/2 длины стороны первой единицы 1400 кодирования, глубина вторых единиц 1406a, 1406b, 1406c и 1406d кодирования может составлять D+1, что глубже, чем глубина D первой единицы 1400 кодирования, на 1.
[00220] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять множество вторых единиц 1412a и 1412b, и 1414a, 1414b и 1414c кодирования путем разделения первой единицы 1410 кодирования, высота которой длиннее, чем ее ширина, в горизонтальном направлении на основе информации режима разделенной формы. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять множество вторых единиц 1422a и 1422b, и 1424a, 1424b и 1424c кодирования путем разделения первой единицы 1420 кодирования, ширина которой длиннее, чем ее высота, в вертикальном направлении на основе информации режима разделенной формы.
[00221] В соответствии с вариантом осуществления, глубина вторых единиц 1412a и 1412b, и 1414a, 1414b и 1414c, или 1422a и 1422b, и 1424a, 1424b и 1424c кодирования, которые определяются на основе информации режима разделенной формы неквадратной первой единицы 1410 или 1420 кодирования, может определяться на основе длины ее длинной стороны. Например, поскольку длина стороны квадратных вторых единиц 1412a и 1412b кодирования составляет 1/2 длины длинной стороны первой единицы 1410 кодирования, имеющей неквадратную форму, высота которой длиннее, чем ее ширина, глубина квадратных вторых единиц 1412a и 1412b кодирования составляет D+1, что глубже, чем глубина D неквадратной первой единицы 1410 кодирования, на 1.
[00222] Более того, устройство 100 декодирования изображения может разделять неквадратную первую единицу 1410 кодирования на нечетное число вторых единиц 1414a, 1414b и 1414c кодирования на основе информации режима разделенной формы. Нечетное число вторых единиц 1414a, 1414b и 1414c кодирования может включать в себя неквадратные вторые единицы 1414a и 1414c кодирования и квадратную вторую единицу 1414b кодирования. В этом случае, поскольку длина длинной стороны неквадратных вторых единиц 1414a и 1414c кодирования и длина стороны квадратной второй единицы 1414b кодирования составляют 1/2 длины длинной стороны первой единицы 1410 кодирования, глубина вторых единиц 1414a, 1414b и 1414c кодирования может составлять D+1, что глубже, чем глубина D неквадратной первой единицы 1410 кодирования, на 1. Устройство 100 декодирования изображения может определять глубины единиц кодирования, разделенных из первой единицы 1420 кодирования, имеющей неквадратную форму, ширина которой длиннее, чем ее высота, с использованием вышеупомянутого способа определения глубин единиц кодирования, разделенных из первой единицы 1410 кодирования.
[00223] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять PID для идентификации разделенных единиц кодирования, на основе отношения размеров между единицами кодирования, когда нечетное число разделенных единиц кодирования не имеют равные размеры. Со ссылкой на фиг. 14, единица 1414b кодирования центрального местоположения из нечетного числа разделенных единиц 1414a, 1414b и 1414c кодирования может иметь ширину, равную ширине других единиц 1414a и 1414c кодирования, и высоту в два раза больше высоты других единиц 1414a и 1414c кодирования. То есть, в этом случае, единица 1414b кодирования в центральном местоположении может включать в себя две из других единиц 1414a или 1414c кодирования. Поэтому, когда PID единицы 1414b кодирования в центральном местоположении составляет 1 на основе порядка сканирования, PID единицы 1414c кодирования, расположенной рядом с единицей 1414b кодирования, может увеличиваться на 2 и, таким образом, может составлять 3. То есть, может присутствовать прерывность в значениях PID. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять, не имеет ли нечетное число разделенных единиц кодирования равные размеры, на основе того, присутствует ли прерывность в PID для идентификации разделенных единиц кодирования.
[00224] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять, следует ли использовать конкретный способ разделения, на основе значений PID для идентификации множества единиц кодирования, определенных путем разделения текущей единицы кодирования. Со ссылкой на фиг. 14, устройство 100 декодирования изображения может определять четное число единиц 1412a и 1412b кодирования или нечетное число единиц 1414a, 1414b и 1414c кодирования путем разделения первой единицы 1410 кодирования, имеющей прямоугольную форму, высота которой длиннее, чем ее ширина. Устройство 100 декодирования изображения может использовать PID, указывающие соответственные единицы кодирования, чтобы идентифицировать соответственные единицы кодирования. В соответствии с вариантом осуществления, PID может быть получен из выборки в предопределенном местоположении каждой единицы кодирования (например, верхней левой выборки).
[00225] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять единицу кодирования в предопределенном местоположении из разделенных единиц кодирования, с использованием PID для проведения различия между единицами кодирования. В соответствии с вариантом осуществления, когда информация режима разделенной формы первой единицы 1410 кодирования, имеющей прямоугольную форму, высота которой длиннее, чем ее ширина, указывает на разделение единицы кодирования на три единицы кодирования, устройство 100 декодирования изображения может разделять первую единицу 1410 кодирования на три единицы 1414a, 1414b и 1414c кодирования. Устройство 100 декодирования изображения может назначать PID каждой из трех единиц 1414a, 1414b и 1414c кодирования. Устройство 100 декодирования изображения может сравнивать PID нечетного числа разделенных единиц кодирования, чтобы определить единицу кодирования в центральном местоположении среди единиц кодирования. Устройство 100 декодирования изображения может определять единицу 1414b кодирования, имеющую PID, соответствующий среднему значению среди PID единиц кодирования, как единицу кодирования в центральном местоположении среди единиц кодирования, определенных путем разделения первой единицы 1410 кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять PID для проведения различия между разделенными единицами кодирования, на основе отношения размеров между единицами кодирования, когда разделенные единицы кодирования не имеют равные размеры. Со ссылкой на фиг. 14, единица 1414b кодирования, сгенерированная путем разделения первой единицы 1410 кодирования, может иметь ширину, равную ширине других единиц 1414a и 1414c кодирования, и высоту в два раза больше высоты других единиц 1414a и 1414c кодирования. В этом случае, когда PID единицы 1414b кодирования в центральном местоположении составляет 1, PID единицы 1414c кодирования, расположенной рядом с единицей 1414b кодирования, может увеличиваться на 2 и, таким образом, может составлять 3. Когда PID не увеличивается равномерно, как описано выше, устройство 100 декодирования изображения может определять, что единица кодирования разделяется на множество единиц кодирования, включая единицу кодирования, имеющую размер, отличный от размера других единиц кодирования. В соответствии с вариантом осуществления, когда информация режима разделенной формы указывает на то, чтобы разделить единицу кодирования на нечетное число единиц кодирования, устройство 100 декодирования изображения может разделять текущую единицу кодирования таким образом, что единица кодирования предопределенного местоположения среди нечетного числа единиц кодирования (например, единица кодирования центрального местоположения) имеет размер, отличный от размера других единиц кодирования. В этом случае, устройство 100 декодирования изображения может определять единицу кодирования центрального местоположения, которая имеет отличающийся размер, с использованием PID единиц кодирования. Однако PID и размер или местоположение единицы кодирования предопределенного местоположения не ограничены вышеупомянутыми примерами, и могут использоваться различные PID и различные местоположения и размеры единиц кодирования.
[00226] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать предопределенную единицу данных, где единица кодирования начинает рекурсивно разделяться.
[00227] Фиг. 15 иллюстрирует, что множество единиц кодирования определяются на основе множества предопределенных единиц данных, включенных в картинку, в соответствии с вариантом осуществления.
[00228] В соответствии с вариантом осуществления, предопределенная единица данных может определяться как единица данных, где единица кодирования начинает рекурсивно разделяться с использованием информации режима разделенной формы. То есть, предопределенная единица данных может соответствовать единице кодирования самой верхней глубины, которая используется, чтобы определять множество единиц кодирования, разделенных из текущей картинки. В дальнейших описаниях, для удобства объяснения, предопределенная единица данных называется опорной единицей данных.
[00229] В соответствии с вариантом осуществления, опорная единица данных может иметь предопределенный размер и предопределенную форму. В соответствии с вариантом осуществления, опорная единица данных может включать в себя выборки M×N. Здесь, M и N могут быть равны друг другу и могут быть целыми, выраженными как степени 2. То есть, опорная единица данных может иметь квадратную или неквадратную форму и затем может разделяться на целое число единиц кодирования.
[00230] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять текущую картинку на множество опорных единиц данных. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять множество опорных единиц данных, которые разделяются из текущей картинки, с использованием информации режима разделенной формы каждой опорной единицы данных. Операция разделения опорной единицы данных может соответствовать операции разделения с использованием структуры квадродерева.
[00231] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может ранее определять минимальный размер, разрешенный для опорных единиц данных, включенных в текущую картинку. Соответственно, устройство 100 декодирования изображения может определять различные опорные единицы данных, имеющие размеры равные или больше, чем минимальный размер, и может определять одну или несколько единиц кодирования с использованием информации режима разделенной формы со ссылкой на определенную опорную единицу данных.
[00232] Со ссылкой на фиг. 15, устройство 100 декодирования изображения может использовать квадратную опорную единицу 1500 кодирования или неквадратную опорную единицу 1502 кодирования. В соответствии с вариантом осуществления, форма и размер опорных единиц кодирования могут определяться на основе различных единиц данных, которые могут включать в себя одну или несколько опорных единиц кодирования (например, последовательности, картинки, вырезки, сегменты вырезки, мозаичные элементы, группы мозаичных элементов, наибольшие единицы кодирования или тому подобное).
[00233] В соответствии с вариантом осуществления, приемник (не показан) устройства 100 декодирования изображения может получать, из битового потока, по меньшей мере одно из информации формы опорной единицы кодирования и информации размера опорной единицы кодирования касательно каждой из различных единиц данных. Операция разделения квадратной опорной единицы 1500 кодирования на одну или несколько единиц кодирования была описана выше в отношении операции разделения текущей единицы 300 кодирования согласно фиг. 3, и операция разделения неквадратной опорной единицы 1502 кодирования на одну или несколько единиц кодирования была описана выше в отношении операции разделения текущей единицы 400 или 450 кодирования согласно фиг. 4. Таким образом, их подробные описания здесь опущены.
[00234] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать PID для идентификации размера и формы опорных единиц кодирования, чтобы определять размер и форму опорных единиц кодирования в соответствии с некоторыми единицами данных, ранее определенными на основе предопределенного условия. То есть, приемник (не показан) может получать, из битового потока, только PID для идентификации размера и формы опорных единиц кодирования касательно каждой вырезки, сегмента вырезки, мозаичного элемента, группы мозаичных элементов или наибольшей единицы кодирования, которая представляет собой единицу данных, удовлетворяющую предопределенному условию (например, единицу данных, имеющую размер равный или меньше, чем вырезка), из различных единиц данных (например, последовательностей, картинок, вырезок, сегментов вырезки, мозаичных элементов, групп мозаичных элементов, наибольших единиц кодирования или тому подобного). Устройство 100 декодирования изображения может определять размер и форму опорных единиц данных касательно каждой единицы данных, которая удовлетворяет предопределенному условию, с использованием PID. Когда информацию формы опорной единицы кодирования и информацию размера опорной единицы кодирования получают и используют из битового потока в соответствии с каждой единицей данных, имеющей относительно малый размер, эффективность использования битового потока не может быть высокой, и поэтому только PID можно получать и использовать вместо непосредственного получения информации формы опорной единицы кодирования и информации размера опорной единицы кодирования. В этом случае, по меньшей мере одно из размера и формы опорных единиц кодирования, соответствующих PID для идентификации размера и формы опорных единиц кодирования, могло быть определено ранее. То есть, устройство 100 декодирования изображения может определять по меньшей мере одно из размера и формы опорных единиц кодирования, включенных в единицу данных, служащую в качестве единицы для получения PID, путем выбора ранее определенного по меньшей мере одного из размера и формы опорных единиц кодирования на основе PID.
[00235] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать одну или несколько опорных единиц кодирования, включенных в наибольшую единицу кодирования. То есть, наибольшая единица кодирования, разделенная из изображения, может включать в себя одну или несколько опорных единиц кодирования, и единицы кодирования могут определяться путем рекурсивного разделения каждой опорной единицы кодирования. В соответствии с вариантом осуществления, по меньшей мере одно из ширины и высоты наибольшей единицы кодирования может быть в целое число раз больше по меньшей мере одного из ширины и высоты опорных единиц кодирования. В соответствии с вариантом осуществления, размер опорных единиц кодирования может быть получен путем разделения наибольшей единицы кодирования n раз на основе структуры квадродерева. То есть, устройство 100 декодирования изображения может определять опорные единицы кодирования путем разделения наибольшей единицы кодирования n раз на основе структуры квадродерева и может разделять опорную единицу кодирования на основе по меньшей мере одной из информации формы блока и информации режима разделенной формы в соответствии с различными вариантами осуществления.
[00236] Фиг. 16 иллюстрирует блок обработки, служащий в качестве критерия для определения порядка определения опорных единиц кодирования, включенных в картинку 1600, в соответствии с вариантом осуществления.
[00237] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять один или несколько блоков обработки, разделенных из картинки. Блок обработки представляет собой единицу данных, включающую в себя одну или несколько опорных единиц кодирования, разделенных из картинки, и одна или несколько опорных единиц кодирования, включенных в блок обработки, могут определяться в соответствии с конкретным порядком. То есть, порядок определения одной или нескольких опорных единиц кодирования, определенный в каждом из блоков обработки, может соответствовать одному из различных типов порядков для определения опорных единиц кодирования и может меняться в зависимости от блока обработки. Порядок определения опорных единиц кодирования, который определяется относительно каждого блока обработки, может быть одним из различных порядков, например, порядок растрового сканирования, Z-сканирование, N-сканирование, диагональное сверху-вправо сканирование, горизонтальное сканирование и вертикальное сканирование, но не ограничен вышеупомянутыми порядками сканирования.
[00238] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать информацию размера блока обработки и может определять размер одного или нескольких блоков обработки, включенных в картинку. Устройство 100 декодирования изображения может получать информацию размера блока обработки из битового потока и может определять размер одного или нескольких блоков обработки, включенных в картинку. Размер блоков обработки может представлять собой предопределенный размер единиц данных, который указывается информацией размера блока обработки.
[00239] В соответствии с вариантом осуществления, приемник (не показан) устройства 100 декодирования изображения может получать информацию размера блока обработки из битового потока в соответствии с каждой конкретной единицей данных. Например, информация размера блока обработки может быть получена из битового потока в единице данных, такой как изображение, последовательность, картинка, вырезка, сегмент вырезки, мозаичный элемент, группа мозаичных элементов или тому подобное. То есть, приемник (не показан) может получать информацию размера блока обработки из битового потока в соответствии с каждой из различных единиц данных, и устройство 100 декодирования изображения может определять размер одного или нескольких блоков обработки, которые разделены из картинки, с использованием полученной информации размера блока обработки. Размер блоков обработки может быть в целое число раз больше, чем размер опорных единиц кодирования.
[00240] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять размер блоков 1602 и 1612 обработки, включенных в картинку 1600. Например, устройство 100 декодирования изображения может определять размер блоков обработки на основе информации размера блока обработки, полученной из битового потока. Со ссылкой на Фиг. 16, в соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять ширину блоков 1602 и 1612 обработки в четыре раза больше, чем ширина опорных единиц кодирования, и может определять высоту блоков 1602 и 1612 обработки в четыре раза больше, чем высота опорных единиц кодирования. Устройство 100 декодирования изображения может определять порядок определения одной или нескольких опорных единиц кодирования в одном или нескольких блоках обработки.
[00241] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять блоки 1602 и 1612 обработки, которые включены в картинку 1600, на основе размера блоков обработки и может определять порядок определения одной или нескольких опорных единиц кодирования в блоках 1602 и 1612 обработки. В соответствии с вариантом осуществления, определение опорных единиц кодирования может включать в себя определение размера опорных единиц кодирования.
[00242] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать, из битового потока, информацию порядка определения одной или нескольких опорных единиц кодирования, включенных в один или несколько блоков обработки, и может определять порядок определения относительно одной или нескольких опорных единиц кодирования на основе полученной информации порядка определения. Информация порядка определения может определяться как порядок или направление для определения опорных единиц кодирования в блоке обработки. То есть, порядок определения опорных единиц кодирования может независимо определяться относительно каждого блока обработки.
[00243] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать, из битового потока, информацию порядка определения опорных единиц кодирования в соответствии с каждой конкретной единицей данных. Например, приемник (не показан) может получать информацию порядка определения опорных единиц кодирования из битового потока в соответствии с каждой единицей данных, такой как изображение, последовательность, картинка, вырезка, сегмент вырезки, мозаичный элемент, группа мозаичных элементов, блок обработки или тому подобное. Поскольку информация порядка определения опорных единиц кодирования указывает порядок для определения опорных единиц кодирования в блоке обработки, информация порядка определения может быть получена относительно каждой конкретной единицы данных, включая целое число блоков обработки.
[00244] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять одну или несколько опорных единиц кодирования на основе определенного порядка определения.
[00245] В соответствии с вариантом осуществления, приемник (не показан) может получать информацию порядка определения опорных единиц кодирования из битового потока как информацию, относящуюся к блокам 1602 и 1612 обработки, и устройство 100 декодирования изображения может определять порядок определения одной или нескольких опорных единиц кодирования, включенных в блоки 1602 и 1612 обработки, и может определять одну или несколько опорных единиц кодирования, которые включены в картинку 1600, на основе порядка определения. Со ссылкой на фиг. 16, устройство 100 декодирования изображения может определять порядки 1604 и 1614 определения одной или нескольких опорных единиц кодирования в блоках 1602 и 1612 обработки, соответственно. Например, когда информацию порядка определения опорных единиц кодирования получают относительно каждого блока обработки, разные типы информации порядка определения опорных единиц кодирования могут быть получены для блоков 1602 и 1612 обработки. Когда порядок 1604 определения опорных единиц кодирования в блоке 1602 обработки представляет собой порядок растрового сканирования, опорные единицы кодирования, включенные в блок 1602 обработки, могут определяться в соответствии с порядком растрового сканирования. Напротив, когда порядок 1614 определения опорных единиц кодирования в другом блоке 1612 обработки представляет собой порядок обратного растрового сканирования, опорные единицы кодирования, включенные в блок 1612 обработки, могут определяться в соответствии с порядком обратного растрового сканирования.
[00246] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может декодировать определенные одну или несколько опорных единиц кодирования. Устройство 100 декодирования изображения может декодировать изображение, на основе опорных единиц кодирования, определенных, как описано выше. Способ декодирования опорных единиц кодирования может включать в себя различные способы декодирования изображения.
[00247] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать, из битового потока, информацию формы блока, указывающую форму текущей единицы кодирования, или информацию режима разделенной формы, указывающую способ разделения текущей единицы кодирования, и может использовать полученную информацию. Информация режима разделенной формы может быть включена в битовый поток, относящийся к различным единицам данных. Например, устройство 100 декодирования изображения может использовать информацию режима разделенной формы, включенную в набор параметров последовательности, набор параметров картинки, набор параметров видео, заголовок вырезки, заголовок сегмента вырезки, заголовок мозаичного элемента или заголовок группы мозаичных элементов. Более того, устройство 100 декодирования изображения может получать, из битового потока, синтаксический элемент, соответствующий информации формы блока или информации режима разделенной формы, в соответствии с каждой наибольшей единицей кодирования, каждой опорной единицей кодирования или каждым блоком обработки и может использовать полученный синтаксический элемент.
[00248] Далее, будет подробно описан способ определения правила разделения, в соответствии с вариантом осуществления раскрытия.
[00249] Устройство 100 декодирования изображения может определять правило разделения изображения. Правило разделения может быть предварительно определено между устройством 100 декодирования изображения и устройством 150 кодирования изображения. Устройство 100 декодирования изображения может определять правило разделения изображения, на основе информации, полученной из битового потока. Устройство 100 декодирования изображения может определять правило разделения на основе информации, полученной из по меньшей мере одного из набора параметров последовательности, набора параметров картинки, набора параметров видео, заголовка вырезки, заголовка сегмента вырезки, заголовка мозаичного элемента и заголовка группы мозаичных элементов. Устройство 100 декодирования изображения может определять правило разделения по-разному в соответствии с кадрами, вырезками, временными уровнями, наибольшими единицами кодирования или единицами кодирования.
[00250] Устройство 100 декодирования изображения может определять правило разделения на основе формы блока единицы кодирования. Форма блока может включать в себя размер, форму, отношение ширины и высоты и направление единицы кодирования. Устройство 150 кодирования изображения и устройство 100 декодирования изображения могут предварительно определять, что следует определить правило разделения на основе формы блока единицы кодирования. Однако раскрытие не ограничено этим. Устройство 100 декодирования изображения может определять правило разделения на основе информации, полученной из битового потока, принятого от устройства 150 кодирования изображения.
[00251] Форма единицы кодирования может включать в себя квадрат и не-квадрат. Когда длины ширины и высоты единицы кодирования равны, устройство 100 декодирования изображения может определять форму единицы кодирования как квадрат. Также, когда длины ширины и высоты единицы кодирования не равны, устройство 100 декодирования изображения может определять форму единицы кодирования как не-квадрат.
[00252] Размер единицы кодирования может включать в себя различные размеры, такие как 4×4, 8×4, 4×8, 8×8, 16×4, 16×8 и до 256×256. Размер единицы кодирования может классифицироваться на основе длины длинной стороны единицы кодирования, длины короткой стороны или площади. Устройство 100 декодирования изображения может применять одно и то же правило разделения к единицам кодирования, классифицированным как одна и та же группа. Например, устройство 100 декодирования изображения может классифицировать единицы кодирования, имеющие одни и те же длины длинных сторон, как имеющие один и тот же размер. Также, устройство 100 декодирования изображения может применять одно и то же правило разделения к единицам кодирования, имеющим одни и те же длины длинных сторон.
[00253] Отношение ширины и высоты единицы кодирования может включать в себя 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1 или тому подобное. Также, направление единицы кодирования может включать в себя горизонтальное направление и вертикальное направление. Горизонтальное направление может указывать случай, в котором длина ширины единицы кодирования длиннее, чем длина ее высоты. Вертикальное направление может указывать случай, в котором длина ширины единицы кодирования короче, чем длина ее высоты.
[00254] Устройство 100 декодирования изображения может адаптивно определять правило разделения на основе размера единицы кодирования. Устройство 100 декодирования изображения может по-разному определять разрешенный режим разделенной формы на основе размера единицы кодирования. Например, устройство 100 декодирования изображения может определять, разрешено ли разделение, на основе размера единицы кодирования. Устройство 100 декодирования изображения может определять направление разделения в соответствии с размером единицы кодирования. Устройство 100 декодирования изображения может определять разрешенный тип разделения, на основе размера единицы кодирования.
[00255] Правило разделения, определенное на основе размера единицы кодирования, может представлять собой правило разделения, предварительно определенное между устройством 150 кодирования изображения и устройством 100 декодирования изображения. Также, устройство 100 декодирования изображения может определять правило разделения, на основе информации, полученной из битового потока.
[00256] Устройство 100 декодирования изображения может адаптивно определять правило разделения, на основе местоположения единицы кодирования. Устройство 100 декодирования изображения может адаптивно определять правило разделения, на основе местоположения единицы кодирования в изображении.
[00257] Также, устройство 100 декодирования изображения может определять правило разделения так, что единицы кодирования, сгенерированные по разным путям разделения, не имеют одну и ту же форму блока. Однако раскрытие не ограничено этим, и единицы кодирования, сгенерированные по разным путям разделения, могут иметь одну и ту же форму блока. Единицы кодирования, сгенерированные по разным путям разделения, могут иметь разные порядки обработки декодирования. Поскольку порядки обработки декодирования описаны выше со ссылкой на фиг. 12, их подробности здесь опущены.
[00258] Далее, со ссылкой на фиг. 17-29, в соответствии с различными вариантами осуществления, обеспеченными в настоящей спецификации, процесс выполнения интра-предсказания, и кодирование и декодирование определенного режима интра-предсказания каждого блока будут описаны подробно. Процесс интра-предсказания в соответствии с различными вариантами осуществления может выполняться декодером 120 устройства 100 декодирования изображения согласно фиг. 1A и кодером 155 устройства 150 кодирования изображения согласно фиг. 2A. В частности, процесс интра-предсказания в соответствии с различными вариантами осуществления может выполняться интра-предсказателем 6400 декодера 6000 изображения согласно фиг. 1D и интра-предсказателем 7200 кодера 7000 изображения согласно фиг. 2D.
[00259] Фиг. 17 иллюстрирует режимы интра-предсказания в соответствии с вариантом осуществления, и фиг. 18 иллюстрирует режимы интра-предсказания в соответствии с другим вариантом осуществления.
[00260] Режимы интра-предсказания в соответствии с различными вариантами осуществления могут включать в себя не-угловой режим интра-предсказания, включающий в себя планарный режим и режим DC, которые не имеют направленности, и угловой режим интра-предсказания, имеющий направленность. Не-угловой режим может включать в себя плоский режим и билинейный режим, а также планарный режим и режим DC.
[00261] Со ссылкой на фиг. 17 и 18, угловой режим интра-предсказания включает в себя режимы интра-предсказания, указывающие конкретные направления в диапазоне между -135 градусов и -180 градусов и диапазоне между 45 градусов и 180 градусов относительно направлений 45 градусов и -135 градусов.
[00262] В описаниях ниже, углы направлений предсказания в диапазоне между 0 градусов и 180 градусов, которые указывают направления в квадрантах I и II, могут быть представлены как +, и углы направлений предсказания в диапазоне между -180 градусов и 0 градусов, которые указывают направления в квадрантах III и IV, могут быть представлены как -. Предопределенный угол -a (где "a" является положительным действительным числом), указывающий направление в квадрантах III и IV, соответствует углу (360-a) градусов. Например, направление -135 градусов соответствует направлению 225 градусов, и направление -180 градусов соответствует направлению 180 градусов.
[00263] Направления предсказания, представленные как стрелки, показанные на фиг. 17 и 18, указывают направления смежных пикселов, подлежащих использованию в интра-предсказании, относительно текущего пиксела текущего блока, который подлежит интра-предсказанию. Числа, отмеченные на фиг. 17 и 18, являются примерами индексов режимов интра-предсказания в соответствии с направлениями интра-предсказания. Далее, индекс режима интра-предсказания может упоминаться как predModeIntra. PredModeIntra планарного режима и predModeIntra режима DC, которые являются не-угловыми режимами интра-предсказания, могут быть установлены как 0 и 1, соответственно.
[00264] Со ссылкой на фиг. 17, угловые режимы интра-предсказания в соответствии с вариантом осуществления могут включать в себя 33 режима интра-предсказания, полученные путем деления промежутка между 45 градусов и -135 градусов на 33. 33 угловых режима интра-предсказания могут последовательно иметь значения predModeIntra от 2 до 34 в направлении по часовой стрелке от направления -135 градусов. Например, на фиг. 17, режим интра-предсказания, для которого predModeIntra равно 2, может указывать режим интра-предсказания, указывающий диагональное направление в направлении -135 градусов, режим интра-предсказания, для которого predModeIntra равно 10, может указывать режим интра-предсказания, указывающий горизонтальное направление в направлении -180 (180) градусов, режим интра-предсказания, для которого predModeIntra равно 26, может указывать режим интра-предсказания, указывающий вертикальное направление в направлении 90 градусов, и режим интра-предсказания, для которого predModeIntra равно 34, может указывать режим интра-предсказания, указывающий диагональное направление в направлении 45 градусов.
[00265] Со ссылкой на фиг. 18, угловые режимы интра-предсказания в соответствии с другим вариантом осуществления могут включать в себя 65 режимов интра-предсказания, полученных путем деления промежутка между -135 градусов и -180 градусов и промежутка между 45 градусов и 180 градусов относительно направлений 45 градусов и -135 градусов на 65. 65 угловых режимов интра-предсказания могут последовательно иметь значения predModeIntra от 2 до 66 в направлении по часовой стрелке от направления -135 градусов. Например, на фиг. 18, режим интра-предсказания, для которого predModeIntra равно 2, может указывать режим интра-предсказания, указывающий диагональное направление в направлении -135 градусов, режим интра-предсказания, для которого predModeIntra равно 18, может указывать режим интра-предсказания, указывающий горизонтальное направление в направлении -180 (180) градусов, режим интра-предсказания, для которого predModeIntra равно 50, может указывать режим интра-предсказания, указывающий вертикальное направление в направлении 90 градусов, и режим интра-предсказания, для которого predModeIntra равно 66, может указывать режим интра-предсказания, указывающий диагональное направление в направлении 45 градусов.
[00266] Однако, значения predModeIntra режимов интра-предсказания не ограничены значениями, показанными на фиг. 17 и 18, и могут изменяться. Например, число угловых режимов интра-предсказания в направлении по часовой стрелке от направления 45 градусов может не ограничиваться числами 33 или 65 и может изменяться, значения predModeIntra угловых режимов интра-предсказания могут последовательно устанавливаться в направлении против часовой стрелки от направления 45 градусов, и установленные значения predModeIntra могут также изменяться. Угловые режимы интра-предсказания не ограничены этим и могут включать в себя предопределенное число режимов интра-предсказания, указывающих конкретные направления в диапазоне между произвольным значением A градусов (где "A" является действительным числом) и B градусов (где "B" является действительным числом).
[00267] Режимы интра-предсказания, описанные со ссылкой на фиг. 17 и 18, установлены с учетом квадратной формы. Однако, как описано выше со ссылкой на фиг. 3-5, в соответствии с вариантом осуществления, единицы данных, включающие в себя единицу кодирования, единицу предсказания и единицы преобразования, могут каждая иметь квадратную форму или неквадратную форму. Также, в соответствии с форматом 4:2:2, даже когда блок компонента яркости имеет квадратную форму, блок компонента цветности, соответствующий ему, может иметь неквадратную форму. Также, в соответствии с вариантом осуществления, единица данных, подлежащая использованию в интра-предсказании, может не иметь фиксированный размер как единица данных макроблока в соответствии со связанной областью техники, но может иметь различные размеры.
[00268] В соответствии с вариантом осуществления, кандидат режима интра-предсказания, подлежащий использованию в интра-предсказании текущего блока, может адаптивно изменяться, с учетом по меньшей мере одного из размера и формы текущего блока.
[00269] Подробно, в соответствии с вариантом осуществления, направления и число режимов интра-предсказания, применимых к текущему блоку, могут адаптивно устанавливаться, пропорционально размеру текущего блока, подлежащего интра-предсказанию. Число режимов интра-предсказания, которые применимы к текущему блоку, может увеличиваться пропорционально размеру текущего блока. Также, в соответствии с вариантом осуществления, блоки могут группироваться в соответствии с их размерами, и число режимов интра-предсказания, применимых к группе больших блоков, может увеличиваться. Например, когда размер текущего блока равен или меньше, чем 8×8, может применяться минимальное число a (где a является положительным целым числом) режимов интра-предсказания, число b (где a является положительным целым числом, b>a) режимов интра-предсказания может применяться к блокам 16×16 и 32×32, и число c (где a является положительным целым числом, c>b) режимов интра-предсказания может применяться к блокам, равным или больше, чем 64×64.
[00270] С другой стороны, в соответствии с другим вариантом осуществления, направления и число режимов интра-предсказания, применимых к текущему блоку, могут адаптивно устанавливаться, обратно пропорционально размеру текущего блока, подлежащего интра-предсказанию. То есть, число режимов интра-предсказания, применимых к текущему блоку, может уменьшаться пропорционально размеру текущего блока. Также, в соответствии с вариантом осуществления, блоки могут группироваться в соответствии с их размерами, и число режимов интра-предсказания, применимых к группе больших блоков, может быть уменьшено. Например, когда размер текущего блока равен или меньше, чем 8×8, максимальное число c режимов интра-предсказания может применяться, число b режимов интра-предсказания может применяться к блокам 16×16 и 32×32, и число a режимов интра-предсказания может применяться к блокам, равным или большим, чем 64×64.
[00271] В соответствии с другим вариантом осуществления, число режимов интра-предсказания, подлежащих применению к блокам всех размеров, может быть равным, независимо от размеров блоков.
[00272] Также, в соответствии с другим вариантом осуществления, направления и число режимов интра-предсказания, подлежащих применению к текущему блоку, могут адаптивно устанавливаться, на основе формы текущего блока или высоты и ширины текущего блока. Подробно, когда текущий блок имеет квадратную форму, как описано выше со ссылкой на фиг. 17 и 18, могут использоваться предопределенные режимы интра-предсказания, и когда текущий блок имеет неквадратную форму, режимы интра-предсказания могут быть установлены, чтобы точно указывать одно из направления высоты и направления ширины.
[00273] Фиг. 19 представляет собой диаграмму для описания режимов интра-предсказания, подлежащих применению к неквадратной форме, в соответствии с различными вариантами осуществления.
[00274] Со ссылкой на фиг. 19, режимы интра-предсказания, подлежащие применению к блоку 1900 неквадратной формы, включают в себя режимы интра-предсказания вертикальной части, сконфигурированные путем деления углов между направлением, указанным первым режимом 1910 интра-предсказания, и направлением, указанным вторым режимом 1920 интра-предсказания, и режимы интра-предсказания горизонтальной части, сконфигурированные путем деления углов между направлением, указанным первым режимом 1910 интра-предсказания, и направлением, указанным третьим режимом 1930 интра-предсказания, на основе первого режима 1910 интра-предсказания в направлении, указывающем верхнюю левую вершину из центра C блока, второго режима 1920 интра-предсказания в направлении, указывающем верхнюю правую вершину из центра C блока, и третьего режима 1930 интра-предсказания в направлении, указывающем нижнюю левую вершину из центра C блока. Число режимов интра-предсказания горизонтальной части и число режимов интра-предсказания вертикальной части могут быть установлены на основе ширины и высоты блока 1900. Для блока, имеющего неквадратную форму, число режимов интра-предсказания, указывающих сторону большей длины, может быть установлено большим, чем число режимов интра-предсказания, указывающих сторону меньшей длины. Например, как проиллюстрировано на фиг. 19, для блока 1900 неквадратной формы, ширина которого больше, чем его высота, число режимов интра-предсказания вертикальной части может быть установлено большим, чем число режимов интра-предсказания горизонтальной части.
[00275] При определении числа режимов интра-предсказания вертикальной части, первый режим 1910 интра-предсказания и второй режим 1920 интра-предсказания могут включаться или исключаться из режимов интра-предсказания вертикальной части. Равным образом, при определении числа режимов интра-предсказания горизонтальной части, первый режим 1910 интра-предсказания и третий режим 1930 интра-предсказания могут включаться или исключаться из режимов интра-предсказания горизонтальной части. Например, для блока 32×16, ширина которого равна 32, а высота равна 16, предполагается, что число режимов интра-предсказания вертикальной части в направлении ширины равно 16, и число режимов интра-предсказания горизонтальной части в направлении высоты равно 8. В этом случае, все 25 режимов интра-предсказания, включая 16 режимов интра-предсказания вертикальной части между первым режимом 1910 интра-предсказания и вторым режимом 1920 интра-предсказания и 8 режимов интра-предсказания горизонтальной части между вторым режимом 1920 интра-предсказания и третьим режимом 1930 интра-предсказания, в дополнение к первому режиму 1910 интра-предсказания, могут определяться как режимы интра-предсказания, применимые к текущему блоку 1900. Альтернативно, все 27 режимов интра-предсказания, включая 16 режимов интра-предсказания вертикальной части и 8 режимов интра-предсказания горизонтальной части, в дополнение к первому режиму 1910 интра-предсказания, второму режиму 1920 интра-предсказания и третьему режиму 1930 интра-предсказания, могут определяться как режимы интра-предсказания, применимые к текущему блоку 1900. Конкретное число режимов интра-предсказания может меняться.
[00276] С другой стороны, для блока, имеющего неквадратную форму, число режимов интра-предсказания, указывающих сторону большей длины, может быть установлено меньшим, чем число режимов интра-предсказания, указывающих сторону меньшей длины. Например, способом, противоположным описаниям выше, на фиг. 19, число режимов интра-предсказания горизонтальной части может быть установлено большим, чем число режимов интра-предсказания вертикальной части.
[00277] В соответствии с различными вариантами осуществления, горизонтальный режим интра-предсказания в направлении 180 градусов и вертикальный режим интра-предсказания в направлении 90 градусов обычно определяются как режимы интра-предсказания, так что режимы интра-предсказания могут устанавливаться, чтобы компактно указывать горизонтальное направление в направлении 180 градусов или вертикальное направление в направлении 90 градусов.
[00278] Далее, будет описан процесс кодирования и декодирования информации о режиме интра-предсказания в соответствии с различными вариантами осуществления.
[00279] Кодер 155 устройства 150 кодирования изображения согласно фиг. 2A и интра-предсказатель 7200 кодера 7000 изображения согласно фиг. 2D определяют режим интра-предсказания, в котором затраты RD являются оптимальными, путем применения режимов интра-предсказания в соответствии с различными вариантами осуществления. Когда режим предсказания текущего блока наконец определяется как режим интра-предсказания, множество фрагментов информации о том, какой режим предсказания из режима пропуска, режима интер-предсказания и режима интра-предсказания используется, чтобы предсказывать текущий блок, и информация режима интра-предсказания интра-предсказанного текущего блока включаются в битовый поток и затем передаются на устройство 100 декодирования изображения. Декодер 120 устройства 100 декодирования изображения согласно фиг. 1A и интра-предсказатель 6400 декодера 6000 изображения согласно фиг. 1D могут определять режим интра-предсказания текущего блока с использованием информации о режиме интра-предсказания текущего блока, информация включена в битовый поток.
[00280] Как описано выше, могут использоваться все из 35 или 67 режимов интра-предсказания, включенных в два не-угловых режима для режима DC и планарного режима, и 33 или 65 угловых режимов предсказания. По мере увеличения числа режимов интра-предсказания, количество информации для указания режима интра-предсказания текущего блока может увеличиваться. В общем, когда изображение обрабатывается путем разделения на блоки, текущий блок и его смежный блок имеют высокую вероятность аналогичных характеристик изображения. Поэтому существует высокая вероятность, что режим интра-предсказания интра-предсказанного текущего блока равен или аналогичен режиму интра-предсказания смежного блока. В соответствии с различными вариантами осуществления, на основе того факта, что смежные блоки имеют высокую вероятность аналогичных характеристик между ними, список кандидатов режима интра-предсказания, включающий в себя режимы интра-предсказания кандидата, может быть получен с использованием информации режима предсказания смежного блока текущего блока, причем режимы интра-предсказания кандидата имеют высокую вероятность быть режимом интра-предсказания текущего блока. Далее, список кандидатов режима интра-предсказания, полученный с использованием информации режима предсказания смежного блока, может упоминаться как список наиболее вероятных режимов (MPM).
[00281] Когда режим интра-предсказания текущего блока находится в списке MPM, количество битов, требуемых, чтобы сигнализировать режим интра-предсказания текущего блока, может быть уменьшено. Например, когда число всех режимов интра-предсказания составляет 67, требуется по меньшей мере 7 битов, чтобы сигнализировать один из 67 режимов интра-предсказания. Однако когда используется 5 или 6 списков MPM, существует высокая вероятность, что режим интра-предсказания текущего блока определяется как находящийся в списках MPM, и даже когда режим интра-предсказания текущего блока не включен в списки MPM, остальные режимы интра-предсказания могут сигнализироваться с использованием только 6 битов за исключением 5 или 6 списков MPM. Поэтому, когда используется список MPM, количество всех битов, требуемых, чтобы сигнализировать режим интра-предсказания интра-предсказанного блока из блоков, составляющих картинку, может быть уменьшено.
[00282] Фиг. 20 представляет собой опорную диаграмму для описания процесса получения списка MPM с использованием информации режима предсказания смежного блока, в соответствии с различными вариантами осуществления.
[00283] Со ссылкой на фиг. 20, список MPM может быть получен с использованием режима A предсказания левого смежного блока 2020 и режима B предсказания верхнего смежного блока 2030, которые обрабатываются до текущего блока 2010. Левый смежный блок 2020 может представлять собой блок, включающий в себя пиксел 2021, расположенный слева от нижнего левого пиксела, расположенного в нижней левой вершине текущего блока 2010. Предполагается, что местоположение верхнего левого пиксела текущего блока соответствует (0,0), значение координаты x увеличивается в направлении вправо, и значение координаты y увеличивается в направлении вниз, и размер текущего блока 2010 определяется как ширина × высота. В этом случае, местоположение пиксела в нижней правой вершине текущего блока 2010 соответствует (ширина-1, высота-1). Когда местоположение нижнего левого пиксела, расположенного в нижней левой вершине текущего блока 2010, соответствует (0, высота-1), блок, включающий в себя пиксел 2021 в местоположении (-1, высота -1), может определяться как левый смежный блок 2020. Верхний смежный блок 2030 представляет собой блок, включающий в себя пиксел 2031, расположенный выше верхнего правого пиксела, расположенного в верхней правой вершине текущего блока 2010. Когда местоположение верхнего правого пиксела, расположенного в верхней правой вершине текущего блока 2010 соответствует (ширина-1, 0), блок, включающий в себя пиксел в местоположении (ширина -1, -1) может определяться как верхний смежный блок 2030. Далее, предполагается, что используются 67 режимов интра-предсказания, включая два не-угловых режима интра-предсказания (планарный и DC) и 65 угловых режимов интра-предсказания как показано на фиг. 18, и predModeIntra планарного режима равно 0, predModeIntra режима DC равно 1, и predModeIntra 2-66 устанавливаются в направлении по часовой стрелке на угловые режимы интра-предсказания. Как описано выше, predModeIntra режима интра-предсказания, указывающее горизонтальное направление (H), может устанавливаться в 18, и predModeIntra режима интра-предсказания, указывающее вертикальное направление (V), может устанавливаться в 50. Также, предполагается, что 6 кандидатов режима интра-предсказания включены в список MPM.
[00284] В соответствии с вариантом осуществления, сначала, проверяется доступность левого смежного блока 2020 и верхнего смежного блока 2030. Когда определено, что смежный блок или интер-предсказанный смежный блок, включенный в мозаичный элемент или вырезку, отличный от текущего блока 2010, недоступен, режим интра-предсказания смежного блока, определенный как недоступный, устанавливается как планарный режим, для которого predModeIntra равно 0, по умолчанию. Когда смежный блок включен в тот же самый мозаичный элемент или вырезку, что и текущий блок 2010, и является интра-предсказываемым, режим интра-предсказания смежного блока неизменяемо устанавливается как режим интра-предсказания смежного блока. Когда режимы интра-предсказания левого смежного блока 2020 и верхнего смежного блока 2030 все являются не-угловыми режимами интра-предсказания, т.е., планарным режимом или режимом DC, список MPM может включать в себя {планарный, DC, H, V, V+4, V-4} или может включать в себя {планарный, DC, H, V, H+4, H-4}. H обозначает горизонтальный режим интра-предсказания, и V обозначает вертикальный режим интра-предсказания. Например, в случае, где режим интра-предсказания левого смежного блока 2020 представляет собой режим DC интра-предсказания (predModeI мозаичные элементы ntra=1), и верхний смежный блок 2030 представляет собой планарный режим (predModeInta=0), список MPM может включать в себя {0, 1, 50, 18, 46, 54} или {0, 1, 50, 18, 14, 22}.
[00285] В случае, где один из режимов интра-предсказания левого смежного блока 2020 и верхнего смежного блока 2030 представляет собой не-угловой режим интра-предсказания и другой режим представляет собой угловой режим интра-предсказания, больший индекс режима интра-предсказания из индексов A и B режимов интра-предсказания левого смежного блока 2020 и верхнего смежного блока 2030 установлен как maxAB. То есть, когда предполагается, что predModeIntra режима интра-предсказания левого смежного блока 2020 равно A и predModeIntra режима интра-предсказания верхнего смежного блока 2030 равно B, maxAB=Max(A, B). В этом случае, список MPM может включать в себя {планарный, maxAB, DC, maxAB-1, maxAB+1, maxAB-2}. Например, в случае, где режим интра-предсказания левого смежного блока 2020 имеет индекс режима интра-предсказания 60 (predModeIntra=60), и верхний смежный блок 2030 представляет собой режим DC (predModeInta=1), maxAB=Max(60, 1)=60, и список MPM включает в себя {0, 60, 1, 59, 61, 58}.
[00286] Когда режимы интра-предсказания левого смежного блока 2020 и верхнего смежного блока 2030 все являются угловыми режимами интра-предсказания и не являются одними и теми же режимами интра-предсказания, список MPM может быть установлен на основе угловой разности между режимами интра-предсказания левого смежного блока 2020 и верхнего смежного блока 2030. Когда значение разности (OK?) между predModeIntra (A) левого смежного блока 2020 и predModeIntra (B) верхнего смежного блока 2030 находится в пределах предопределенного диапазона, например, между 2 и 62, список MPM может включать в себя {планарный, A, B, DC, maxAB-1, maxAB+1}. Например, в случае, где режим интра-предсказания левого смежного блока 2020 имеет predModeIntra 60, и верхний смежный блок 2030 имеет predModeIntra 50, значение разности между predModeIntra (A) левого смежного блока 2020 и predModeIntra (B) верхнего смежного блока 2030 включено в диапазон от 2 до 60, и таким образом, список MPM включает в себя {0, 60, 50, 1, 59, 61}.
[00287] В случае, где значение разницы между predModeIntra (A) левого смежного блока 2020 и predModeIntra (B) верхнего смежного блока 2030 меньше 2 или больше 62, список MPM может включать в себя {планарный, A, B, DC, maxAB-2, maxAB+2}. Например, в случае, где режим интра-предсказания левого смежного блока 2020 имеет predModeIntra 3, и верхний смежный блок 2030 имеет predModeIntra 4, список MPM включает в себя {0, 3, 4, 1, 2, 6}.
[00288] Когда режимы интра-предсказания левого смежного блока 2020 и верхнего смежного блока 2030 все являются угловыми режимами интра-предсказания и одними и теми же режимами интра-предсказания, список MPM может включать в себя {планарный, A, A-1, A+1, режим DC, A-2} или {планарный, B, B-1, B+1, режим DC, B-2}. Например, когда все режимы интра-предсказания левого смежного блока 2020 и верхнего смежного блока 2030 имеют predModeIntra 60, список MPM может включать в себя {0, 60, 59, 61, 1, 58}.
[00289] Различные инструменты, включая расширение на множество опорных строк, в котором, в качестве опорной выборки текущего блока, избирательно используются не только смежные выборки, смежные с текущим блоком, но также смежные выборки, удаленные от текущего блока на предопределенное расстояние, интра-подразбиение, в котором блок, подлежащий интра-предсказанию, разделяется на под-разбиения, способ гибридного предсказания, где комбинируются интер-предсказание и интра-предсказание, или тому подобное могут использоваться в процессе кодирования/декодирования текущего блока. Чтобы уменьшить сложность, список MPM может выборочно устанавливаться в соответствии с инструментом, используемым в процессе кодирования текущего блока. Например, когда расширение на множество опорных строк используется в процессе кодирования текущего блока, планарный режим и режим DC могут исключаться из списка MPM, и когда используется интра-подразбиение, режим DC может исключаться из списка MPM. Для блока, для которого не используются ни расширение на множество опорных строк, ни интра-подразбиение, планарный режим и режим DC включаются в список MPM, так что сложность установления списка MPM может снижаться. Однако, когда схема генерации списка MPM изменяется в соответствии с тем, используется или нет конкретный инструмент, возможность того, что должен выбираться режим интра-предсказания, смещенный в направлении конкретного инструмента, может повышаться.
[00290] В соответствии с вариантом осуществления, список MPM может избирательно использоваться на основе информации кодирования интра-предсказанного текущего блока. Другими словами, в соответствии с вариантом осуществления, это не тот случай, когда список MPM используется для всего интра-предсказанного текущего блока, или режим интра-предсказания текущего блока определяется из режимов интра-предсказания кандидата, включенных в список MPM. Только когда информация кодирования текущего блока удовлетворяет конкретному условию, может использоваться список MPM, или режим интра-предсказания текущего блока может определяться из режимов интра-предсказания кандидата, включенных в список MPM.
[00291] В соответствии с вариантом осуществления, когда информация кодирования, относящаяся к интра-предсказанному блоку, удовлетворяет предопределенному условию, список MPM может генерироваться без информации специального флага. Когда информация кодирования, относящаяся к интра-предсказанному блоку, не удовлетворяет предопределенному условию, может сигнализироваться информация специального флага, относящаяся к тому, следует ли генерировать список MPM для интра-предсказанного блока. Также, в соответствии с вариантом осуществления, перед генерацией списка MPM, может сначала определяться, является ли режим интра-предсказания текущего блока конкретным режимом интра-предсказания (например, не-угловым режимом), и затем, если режим интра-предсказания текущего блока не является конкретным режимом интра-предсказания, список MPM может генерироваться, и режим интра-предсказания текущего блока может определяться с использованием индекса MPM (MPM idx), указывающего один из режимов интра-предсказания кандидатов, включенных в список MPM. Также, то, следует ли применять инструмент кодирования, подлежащий использованию для текущего блока, может определяться из кандидатов режима интра-предсказания, включенных в список MPM. В соответствии с другим вариантом осуществления, список MPM текущего блока может равно генерироваться, независимо от информации кодирования, относящейся к текущему блоку. Информация кодирования может включать в себя информацию о том, следует ли применять предопределенный инструмент кодирования, применяемый к текущему блоку, информацию опорной выборки, подлежащую использованию в интра-предсказании относительно текущего блока, и информацию под-разбиения, указывающую, подлежит ли текущий блок разделению на под-разбиения.
[00292] Фиг. 21 представляет собой блок-схему последовательности операций процесса генерации списка MPM в соответствии с вариантом осуществления, и фиг. 22 представляет собой диаграмму опорной выборки в соответствии с вариантом осуществления.
[00293] Со ссылкой на фиг. 21, в операции 2110, определяется, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком. То есть, то, следует ли использовать список MPM, может определяться на основе информации кодирования, относящейся к текущему блоку. Информация кодирования может включать в себя информацию опорной выборки, подлежащую использованию в интра-предсказании относительно текущего блока, и информацию под-разбиения, указывающую, подлежит ли текущий блок разделению на под-разбиения. В соответствии с различными вариантами осуществления, не только пиксел, смежный с текущим блоком, но также пиксел, удаленный от текущего блока на предопределенное расстояние, может использоваться в качестве опорной выборки в интра-предсказании. Со ссылкой на фиг. 22, не только пикселы 2210, непосредственно смежные с текущим блоком 2200, но также пикселы 2220 и 2230, удаленные на предопределенное расстояние от верхней границы и левой границы текущего блока 2200, могут использоваться в качестве опорной выборки в интра-предсказании. Информация опорной выборки, указывающая опорную выборку из смежных пикселов 2210, 2220 и 2230 текущего блока 2200, может сигнализироваться из кодера в декодер.
[00294] Предопределенное условие для определения, должен ли режим интра-предсказания текущего блока определяться с использованием списка MPM, может устанавливаться по-разному. Например, устройство 100 декодирования изображения может получать информацию опорной выборки и информацию под-разбиения из битового потока, может определять, на основе информации опорной выборки, (a) подлежит ли смежный пиксел, непосредственно смежный с текущим блоком, использованию в качестве опорной выборки текущего блока, и может определять, на основе информации под-разбиения, (b) подлежит ли текущий блок разделению на под-разбиения. После этого, устройство 100 декодирования изображения может определять, на основе результатов определений (a) и (b), подлежит ли один из режимов интра-предсказания кандидатов, включенных в список MPM, использованию в качестве режима интра-предсказания текущего блока. Также, в соответствии с вариантом осуществления, может быть установлена информация специального флага, указывающая, подлежит ли один из режимов интра-предсказания кандидатов, включенных в список MPM, использованию в режиме интра-предсказания текущего блока. Даже когда специальный флаг установлен, в случае, когда установлен флаг конкретного не-углового режима предсказания, указывающий, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом предсказания, и режим интра-предсказания текущего блока представляет собой конкретный не-угловой режим предсказания, режим интра-предсказания текущего блока может определяться без использования списка MPM.
[00295] В результате определения в операции 2110, когда (a') смежный пиксел, непосредственно смежный с текущим блоком, не должен использоваться в качестве опорной выборки текущего блока, или (b') текущий блок подлежит разделению на под-разбиения, определяется, что список MPM подлежит использованию, и в операции 2120, устройство 100 декодирования изображения генерирует кандидаты MPM, подлежащие включению в список MPM. То есть, по меньшей мере одно из условия (a') или условия (b') удовлетворено, устройство 100 декодирования изображения определяет использовать список MPM.
[00296] В результате определения в операции 2110, когда (a'') смежный пиксел, непосредственно смежный с текущим блоком, подлежит использованию в качестве опорной выборки текущего блока, и (b'') текущий блок не подлежит разделению на под-разбиения, в операции 2150, устройство 100 декодирования изображения получает, из битового потока, информацию флага списка кандидатов режима интра-предсказания (intra_luma_mpm_flag), указывающую, следует ли использовать список MPM. В операции 2160, устройство 100 декодирования изображения может определять, следует ли использовать список MPM, на основе полученной информации флага списка кандидатов режима интра-предсказания (intra_luma_mpm_flag). Например, когда информация флага списка кандидатов режима интра-предсказания (intra_luma_mpm_flag) соответствует 1, устройство 100 декодирования изображения может генерировать кандидаты MPM, подлежащие включению в список MPM. Когда информация флага списка кандидатов режима интра-предсказания (intra_luma_mpm_flag) соответствует 0, в операции 2170, устройство 100 декодирования изображения получает, из битового потока, информацию остаточного режима интра-предсказания (intra_luma_mpm_remainder) текущего блока и определяет режим интра-предсказания текущего блока с использованием информации остаточного режима интра-предсказания. Информация остаточного режима интра-предсказания указывает один из режимов интра-предсказания, которые не включены в список MPM, из режимов интра-предсказания, применимых к текущему блоку. В соответствии с вариантом осуществления, если предопределенное условие удовлетворено, устройство 100 декодирования изображения может принимать решение безусловно использовать список MPM, и даже если предопределенное условие не удовлетворено, устройство 100 декодирования изображения может определять, следует ли использовать список MPM, на основе флага, специально указывающего, следует ли использовать список MPM.
[00297] Когда по меньшей мере одно условие из (a') или (b'), описанных выше, удовлетворено, или информация флага списка кандидатов режима интра-предсказания (intra_luma_mpm_flag) указывает, что список MPM подлежит использованию, в операции 2120, описанной выше, устройство 100 декодирования изображения генерирует список MPM, включающий в себя кандидаты MPM. В операции 2130, устройство 100 декодирования изображения получает информацию индекса MPM (MPM idx), указывающую один из кандидатов режима интра-предсказания, включенных в список MPM.
[00298] В соответствии с вариантом осуществления, устройство 100 декодирования изображения получает информацию не-углового режима интра-предсказания, указывающую, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом интра-предсказания. Конкретный не-угловой режим интра-предсказания может представлять собой один из не-угловых режимов интра-предсказания, включая режим DC, планарный режим, плоский режим, билинейный режим или тому подобное. Когда информация не-углового режима интра-предсказания указывает конкретный не-угловой режим интра-предсказания, устройство 100 декодирования изображения определяет режим интра-предсказания текущего блока как конкретный не-угловой режим интра-предсказания, и когда информация не-углового режима интра-предсказания не указывает конкретный не-угловой режим интра-предсказания, устройство 100 декодирования изображения получает, из битового потока, информацию индекса режима интра-предсказания, указывающую таковой в списке кандидатов режима интра-предсказания, полученном на основе информации режима предсказания смежного блока, смежного с текущим блоком. После этого, устройство 100 декодирования изображения может определять режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания (MPM idx) и может выполнять интра-предсказание на текущем блоке с использованием режима интра-предсказания текущего блока. Причина того, почему определяется, является ли режим планарным, перед получением информации индекса MPM, состоит в том, что, во многих случаях, планарный режим определяется как режим интра-предсказания.
[00299] Число кандидатов режима интра-предсказания, включенных в список MPM, может меняться. Например, число кандидатов режима интра-предсказания, подлежащих включению в список MPM, может определяться как пропорциональное или обратно пропорциональное размеру текущего блока. В соответствии с другим вариантом осуществления, информация режима интра-предсказания может включать в себя i) информацию, указывающую часть, которой принадлежит режим интра-предсказания текущего блока, из горизонтальной части и вертикальной части, и ii) информацию, указывающую один из режимов интра-предсказания, включенных в эту часть. Возвращаясь к фиг. 19, устройство 150 кодирования изображения может добавлять, в битовый поток, информацию о том, какой части принадлежит режим интра-предсказания текущего блока из режимов интра-предсказания вертикальной части и режимов интра-предсказания горизонтальной части. Например, то, какой части принадлежит режим интра-предсказания текущего блока из режимов интра-предсказания вертикальной части и режимов интра-предсказания горизонтальной части, может быть представлено с использованием информации флага 1 бит. Первый режим 1910 интра-предсказания с направлением 135 градусов может быть включен в предопределенную часть из горизонтальной части и вертикальной части. Информация, указывающая один из режимов интра-предсказания, включенных в часть, может быть представлена с использованием MPM, или может быть представлена как значение от 0 до (n-1), причем это значение указывает один из n режимов интра-предсказания (где n является положительным целым), включенных в эту часть. Устройство 100 декодирования изображения может сначала получать информацию, указывающую часть, которой принадлежит режим интра-предсказания текущего блока, из горизонтальной части и вертикальной части, и затем может определять режим интра-предсказания текущего блока с использованием информации, указывающей один из режимов интра-предсказания, включенных в эту часть.
[00300] Когда устройство 150 кодирования изображения устанавливает список MPM в соответствии с различными вариантами осуществления и добавляет режим интра-предсказания текущего блока в битовый поток с использованием списка MPM, устройство 150 кодирования изображения может отдельно включать в себя информацию, указывающую часть, которой принадлежит режим интра-предсказания текущего блока, из горизонтальной части и вертикальной части.
[00301] Также, в соответствии с другим вариантом осуществления, информация, указывающая часть, которой принадлежит режим интра-предсказания текущего блока, из горизонтальной части и вертикальной части, может отдельно не включаться в битовый поток, и режим интра-предсказания текущего блока может определяться с использованием информации ширины и высоты и информации размера текущего блока, и информации режима интра-предсказания смежного блока. Например, когда высота текущего блока больше, чем его ширина, режим интра-предсказания текущего блока может определяться как один из режимов интра-предсказания вертикальной части, и когда ширина текущего блока больше, чем его высота, режим интра-предсказания текущего блока может определяться как один из режимов интра-предсказания горизонтальной части.
[00302] В соответствии с другим вариантом осуществления, режим интра-предсказания текущего блока может быть представлен с использованием двумерного вектора (vx, vy) (где vx, vy являются, каждый, действительным числом), указывающего направление опорного пиксела от текущего пиксела, подлежащего интра-предсказанию.
2
2
[00303] Фиг. 23 представляет собой опорную диаграмму для описания способа представления режима интра-предсказания как вектора, в соответствии с другим вариантом осуществления. Со ссылкой на фиг. 23, предполагается, что текущий пиксел предсказывается с использованием опорного пиксела, разнесенного по горизонтальной оси W и вертикальной оси H. Поскольку все пикселы в блоке имеют одно и то же направление интра-предсказания, направление предсказания, указанное режимом интра-предсказания, может быть представлено как двумерный вектор 2320 (W, H). Вместо двумерного вектора (W, H), указывающего режим интра-предсказания, может использоваться вектор (vx, vy) 2310 как репрезентативный вектор, значение которого равно 1 и который указывает то же самое направление, что и двумерный вектор (W, H). То есть, двумерный вектор (W, H) может быть нормализован, чтобы значению vx+vy было равно 1, так что может быть получен двумерный вектор (vx, vy) 2310, указывающий режим интра-предсказания текущего блока. Таким образом, когда двумерный вектор (vx, vy) используется в качестве информации режима интра-предсказания, различные направления предсказания могут указываться, по сравнению с режимами интра-предсказания в предопределенном направлении, которое установлено ранее.
[00304] В соответствии с вариантом осуществления, число и тип режимов интра-предсказания могут меняться в соответствии с индексом MPM или режимами интра-предсказания, включенными в список MPM. Например, когда список MPM включает в себя режим интра-предсказания, для которого значение predModeIntra равно 50, режимы интра-предсказания в направлении, аналогичном режиму интра-предсказания, для которого значение predModeIntra равно 50, могут дополнительно включаться в режимы интра-предсказания кандидата. Также, список MPM может делиться на предопределенное число групп в соответствии со значениями predModeIntra, включенными в список MPM, и предварительно установленные режимы интра-предсказания могут определяться в соответствии с группами списка MPM.
[00305] В соответствии с вариантом осуществления, число режимов интра-предсказания может определяться на основе значения параметра квантования (QP). Например, число доступных режимов интра-предсказания может определяться как обратно пропорциональное значению QP текущего блока. Также, когда значение QP текущего блока меньше, чем предопределенное пороговое значение, число доступных режимов интра-предсказания может быть установлено как M (где M является положительным целым), и когда значение QP текущего блока равно или больше, чем предопределенное пороговое значение, число доступных режимов интра-предсказания может быть установлено как N (где M>N, N является положительным целым).
[00306] В соответствии с вариантом осуществления, режимы интра-предсказания могут включаться в список MPM в соответствии с предопределенным порядком приоритетов. Предполагается, что, когда N режимов интра-предсказания включены в список MPM, индекс MPM (MPM idx), указывающий один из N кандидатов, может иметь целое значение от 0 до (N-1), и когда значение индекса MPM (MPM idx) уменьшено, режим интра-предсказания для него является режимом, имеющим более высокий приоритет. В соответствии с вариантом осуществления, порядок приоритетов режимов интра-предсказания, включенных в список MPM, может определяться на основе частот режимов интра-предсказания смежных блоков. Например, более высокие приоритеты списка MPM, т.е., меньшие индексы MPM, могут быть установлены в порядке более высоких частот режимов интра-предсказания смежных блоков.
[00307] В соответствии с другим вариантом осуществления, порядок приоритетов режимов интра-предсказания смежных блоков, включенных в список MPM, может определяться, с учетом размеров и форм текущего блока и смежных блоков.
[00308] Фиг. 24A-24C представляют собой опорные диаграммы для описания порядка приоритетов режимов интра-предсказания смежных блоков, включенных в список MPM, с учетом размеров текущего блока и смежных блоков.
[00309] В соответствии с другим вариантом осуществления, режим интра-предсказания смежного блока, имеющего размер, аналогичный размеру текущего блока, может располагаться с более высоким приоритетом в списке MPM. Со ссылкой на фиг. 24A, из левого смежного блока 2410 и верхнего смежного блока 2420 текущего блока 2400, режим интра-предсказания левого смежного блока 2410, имеющего тот же самый размер, что и текущий блок 2400, может быть установлен как расположенный с более высоким приоритетом в списке MPM, по сравнению с режимом интра-предсказания верхнего смежного блока 2420.
[00310] Также, режим интра-предсказания смежного блока, имеющего форму, аналогичную текущему блоку, может быть установлен как расположенный с более высоким приоритетом в списке MPM. Со ссылкой на фиг. 24B, когда текущий блок 2400 имеет неквадратную форму, ширина которой больше, чем ее высота, режим интра-предсказания левого смежного блока 2430, имеющего неквадратную форму, ширина которой больше, чем ее высота, который аналогичен текущему блоку 2400, из левого смежного блока 2430 и верхнего смежного блока 2440, может быть установлен как расположенный с более высоким приоритетом в списке MPM, по сравнению с режимом интра-предсказания верхнего смежного блока 2440.
[00311] Также, когда текущий блок имеет неквадратную форму, режим интра-предсказания смежного блока в направлении вдоль длинной стороны текущего блока может быть установлен как расположенный с более высоким приоритетом в списке MPM. Со ссылкой на фиг. 24C, когда текущий блок 2400 имеет неквадратную форму, ширина которой больше, чем ее высота, режим интра-предсказания верхнего смежного блока 2460, смежного с направлением ширины текущего блока 2400, из смежных блоков 2450 и 2460, имеющих равный размер, может быть установлен как расположенный с более высоким приоритетом в списке MPM, по сравнению с режимом интра-предсказания левого смежного блока 2450.
[00312] Фиг. 25 представляет собой диаграмму, иллюстрирующую смежные блоки текущего блока, которые используются в списке MPM, в соответствии с другим вариантом осуществления.
[00313] В соответствии с другим вариантом осуществления, вместо режима интра-предсказания смежного блока, непосредственно смежного с текущим блоком, режим интра-предсказания смежного блока, который не является смежным с текущим блоком и разнесен на предопределенное расстояние, может включаться в список MPM. Со ссылкой на фиг. 25, вместо смежных блоков 2510 и 2520, которые являются непосредственно смежными с текущим блоком 2500, режимы интра-предсказания смежных блоков 2530 и 2540, разнесенных на предопределенное расстояние, могут использоваться при установке списка MPM. В виде исключения, вместо режима интра-предсказания, имеющего наиболее высокую вероятность из режимов интра-предсказания смежных блоков текущего блока, наименее вероятный режим, имеющий наименьшую вероятность, может быть включен в список MPM.
[00314] В соответствии с различными вариантами осуществления, список MPM может устанавливаться с использованием режимов интра-предсказания левого блока и верхнего блока, и затем дополнительный список MPM может быть установлен с использованием режимов интра-предсказания, включенных в список MPM. Далее, первый установленный список MPM называется списком MPM по умолчанию. Причина, почему устанавливается дополнительный список MPM в дополнение к списку MPM по умолчанию, состоит в том, чтобы охватывать случай, где режим интра-предсказания, который не включен в первый установленный список MPM по умолчанию, определяется как режим интра-предсказания текущего блока. Дополнительный список MPM может включать в себя режимы интра-предсказания, имеющие predModeIntra, полученный путем сложения или вычитания в логарифмическом масштабе предопределенного значения с или из значений predModeIntra режимов интра-предсказания, включенных в список MPM по умолчанию. Например, когда значение predModeIntra произвольных режимов интра-предсказания, включенных в существующий список MPM, является значением по умолчанию, дополнительный список MPM может включать в себя режимы интра-предсказания, имеющие значения predModeIntra default±1, default±2, default±4, default ±8, default±16 и default±32. Сначала может определяться число остаточных режимов интра-предсказания, которые не должны включаться в список MPM по умолчанию, и дополнительный список MPM, и может определяться число режимов интра-предсказания, подлежащих включению в список MPM по умолчанию, и число режимов интра-предсказания, подлежащих включению в дополнительный список MPM. Список MPM по умолчанию и дополнительный список MPM могут применяться в соответствии со стадиями. То есть, сначала определяется то, включен ли режим интра-предсказания текущего блока в список MPM по умолчанию, и затем, когда режим интра-предсказания текущего блока не включен в список MPM по умолчанию, может быть установлен дополнительный список MPM. Дополнительный список MPM может кодироваться с использованием усеченного унарного (TU) кодирования бинаризации, на основе числа режимов интра-предсказания, включенных в него.
[00315] Когда режим интра-предсказания текущего блока не включен в список MPM, устройство 150 кодирования изображения отдельно сигнализирует информацию режима интра-предсказания текущего блока. Далее, режим интра-предсказания текущего блока, который не включен в список MPM и передается отдельно, упоминается как остаточная информация режима интра-предсказания (intra_mpm_remainder). В качестве остаточной информации режима интра-предсказания, может использоваться значение разности между индексом режима интра-предсказания (predModeIntra_current) текущего блока и опорным индексом режима интра-предсказания (predModeIntra_MPM) из режимов интра-предсказания списка MPM. Например, когда индекс режима интра-предсказания (predModeIntra_current) текущего блока равен 30 и индекс режима интра-предсказания (predModeIntra_MPM) опорного режима интра-предсказания, определенного из списка MPM, равен 20, только значение 10, соответствующее (30-20), может использоваться в качестве остаточной информации режима интра-предсказания. Устройство 150 кодирования изображения может добавлять, в битовый поток, значение разности 10 как остаточную информацию режима интра-предсказания и передавать битовый поток, и устройство 100 декодирования изображения может определять режим интра-предсказания текущего блока путем добавления значения разности 10, полученного из битового потока, в индекс режима интра-предсказания 20 опорного режима интра-предсказания.
[00316] В соответствии с вариантом осуществления, список MPM может генерироваться с учетом по меньшей мере одного из размера и формы текущего блока и размера картинки.
[00317] Возвращаясь к фиг. 20, в соответствии с другим вариантом осуществления, когда текущий блок имеет неквадратную форму, вместо режимов интра-предсказания, включенных в список MPM, с использованием maxAB, режим интра-предсказания смежного блока, который аналогичен направлению, в котором текущий блок имеет большую длину из ширины и высоты текущего блока, может быть включен в список MPM. Подробно, когда текущий блок имеет неквадратную форму, высота которой больше, чем ее ширина, режим интра-предсказания смежного блока, который находится относительно близко к вертикальному направлению, которое является направлением высоты из режима A предсказания левого смежного блока 2020 и режима B предсказания верхнего смежного блока 2030, может замещаться на maxAB. С другой стороны, когда текущий блок имеет неквадратную форму, ширина которой больше, чем ее высота, режим интра-предсказания смежного блока, который находится относительно близко к горизонтальному направлению, которое является направлением ширины, из режима A предсказания левого смежного блока 2020 и режима B предсказания верхнего смежного блока 2030, может замещаться на maxAB. Например, возвращаясь к фиг. 18, когда предполагается, что текущий блок имеет неквадратную форму с размером 16×32, где высота больше, чем ширина, и индекс режима A интра-предсказания левого смежного блока 2020 равен 22, близкому к горизонтальному направлению, и индекс режима B интра-предсказания верхнего смежного блока 2030 равен 54, близкому к вертикальному направлению, 54, которое является значением индекса режима B интра-предсказания верхнего смежного блока 2030, который близок к вертикальному направлению, может использоваться в качестве значения maxAB, используемого когда устанавливается список MPM.
[00318] В соответствии с другим вариантом осуществления, когда размер блока увеличивается, вероятность того, что режим DC или планарный режим подлежит выбору, увеличивается, и, таким образом, для блока с размером, равным или большим, чем предопределенный размер, планарный режим и режим DC могут быть установлены в более высоком порядке приоритетов списка MPM. Например, планарный режим может быть установлен как MPM[0], который представляет собой верхний порядок приоритетов, и режим DC может быть установлен как MPM[1], который представляет собой второй верхний порядок приоритетов. Когда размер блока мал, сходство с режимами интра-предсказания смежных блоков велико, и, таким образом, режимы интра-предсказания верхнего смежного блока и левого смежного блока могут быть установлены с высоким приоритетом списка MPM.
[00319] В соответствии с другим вариантом осуществления, когда разрешение картинки увеличивается, вероятность того, что плоская площадь увеличивается, велика, и таким образом, порядок приоритетов не-угловых режимов интра-предсказания может быть установлен с высоким приоритетом списка MPM. Например, когда разрешение равно или больше, чем 4K, что является предопределенным пороговым значением, режим DC и планарный режим могут быть установлены с более высоким порядком приоритетов списка MPM.
[00320] В соответствии с другим вариантом осуществления, когда список MPM, сгенерированный в предсказании блока интра-предсказания, который был ранее обработан, сохраняется как поисковая таблица, и блок интра-предсказания, подлежащий после этого обработке, обрабатывается, может использоваться список MPM, сохраненный как поисковая таблица. Также, список MPM может обновляться каждый раз, когда обрабатывается каждый блок интра-предсказания обрабатывается. Не-угловые режимы интра-предсказания могут быть установлены в более высоком порядке приоритета mpm[0] и mpm[1], и угловые режимы интра-предсказания могут быть установлены в более низком порядке приоритета mpm[2~5]. После того, как сгенерирован список MPM, режимы интра-предсказания и порядок приоритета, включенные в список MPM, могут изменяться с использованием таблицы упорядочивания MPM. Например, предполагается, что список MPM установлен как {DC, планарный, H, V, A, B, A+n, A-n, B+n, B-n}. В этом отношении, H относится к режиму интра-предсказания в горизонтальном направлении, V относится к режиму интра-предсказания в вертикальном направлении, A относится к режиму интра-предсказания левого смежного блока, B относится к режиму интра-предсказания верхнего смежного блока, и n относится к предопределенному целому числу (например, n составляет 1 или 2). Также, число, включенное в таблицу упорядочивания MPM, относится к адресу массива списка MPM. Когда таблица упорядочивания MPM соответствует {0, 1, 4, 5, 6, 7}, выбираются режимы интра-предсказания mpm[0], mpm[1], mpm[4], mpm[5], mpm[6] и mpm[7] списка MPM, и, таким образом, список MPM {DC, планарный, V, A, B, A+n, A-n} может быть заново получен.
[00321] Также, списки MPM, которые ранее генерировались, сохраняются, с учетом типов инструментов, примененных к ранее обработанным блокам интра-предсказания, или размера и формы предыдущего блока, и тогда список MPM ранее обработанного интра-блока с тем же самым условием может использоваться для интра-блока, подлежащего обработке после этого.
[00322] В соответствии с другим вариантом осуществления, когда текущий блок не использует опорный пиксел, который является непосредственно смежным, может использоваться список MPM, который исключает режим DC и планарный режим и находится в списке MPM, полученном с использованием режимов интра-предсказания смежных блоков текущего блока. Также, как описано выше, вместо maxAB, используемого, когда режим интра-предсказания левого смежного блока и режим интра-предсказания верхнего смежного блока отличаются, может использоваться minAB, который является меньшим индексом режима интра-предсказания из индексов A и B режима интра-предсказания левого смежного блока и верхнего смежного блока. То есть, когда индекс режима интра-предсказания (predModeIntra) левого смежного блока равен A, и индекс режима интра-предсказания (predModeIntra) правого смежного блока равен B, minAB, который получают посредством minAB=Min(A, B), может использоваться вместо maxAB.
[00323] В соответствии с другим вариантом осуществления, список MPM может включать в себя {V, H, 34, 2, 66} по умолчанию, и затем среднее значение режимов интра-предсказания горизонтальной части и среднее значение режимов интра-предсказания вертикальной части из режимов интра-предсказания, полученных из режима интра-предсказания левого смежного блока и режима интра-предсказания верхнего смежного блока, могут быть включены в дополнительный список MPM. В соответствии с другим вариантом осуществления, режим интра-предсказания, соответствующий индексу режима интра-предсказания значения, полученного путем сложения или вычитания предопределенного смещения (например, смещение является целым числом, равным или больше 1) с или из индекса режима интра-предсказания смежного блока, который исключается, когда список MPM сгенерирован, может быть включен в дополнительный список MPM. Как описано выше, когда смежный блок недоступен, когда список MPM сгенерирован, режим интра-предсказания смежного блока может быть установлен как планарный режим по умолчанию.
[00324] Фиг. 26 представляет собой опорную диаграмму, иллюстрирующую схему генерирования списка MPM при параллельной обработке, в соответствии с вариантом осуществления.
[00325] В соответствии с вариантом осуществления, верхний смежный блок и левый смежный блок, которые используются в генерации списка MPM множества блоков, подлежащих параллельной обработке, могут быть равны. Со ссылкой на фиг. 26, для параллельной обработки блоков 2710, 2720, 2730 и 2740, необходимо независимо анализировать синтаксически или декодировать блоки 2710, 2720, 2730 и 2740. В частности, когда блоки 2710, 2720, 2730 и 2740 являются все интра-предсказанными блоками, общий список MPM может применяться к блокам 2710, 2720, 2730 и 2740, чтобы обеспечивать возможность параллельной обработки по отношению к блокам 2710, 2720, 2730 и 2740. То есть, список MPM, используемый в определении режима интра-предсказания блоков 2710, 2720, 2730 и 2740, получают с использованием режимов интра-предсказания верхнего смежного блока A 2750 и левого смежного блока L 2760 единицы данных параллельной обработки, где блоки 2710, 2720, 2730 и 2740 комбинируются.
[00326] Фиг. 27 иллюстрирует поисковую таблицу, показывающую отношения отображения между индексами режимов интра-предсказания (predModeIntra) и угловыми параметрами (IntraPredAngle) в соответствии с режимами интра-предсказания, в соответствии с вариантом осуществления, и фиг. 28 иллюстрирует поисковую таблицу, показывающую отношения отображения между индексами режимов интра-предсказания (predModeIntra) и угловыми параметрами (IntraPredAngle) в соответствии с режимами интра-предсказания, в соответствии с другим вариантом осуществления.
-1
[00327] Конкретное направление режимов интра-предсказания в соответствии с различными вариантами осуществления, описанными выше, может быть представлено с использованием углового параметра IntraPredAngle о конкретном направлении на основе индекса режима интра-предсказания (predModeIntra), за исключением вертикального направления 90 градусов и горизонтального направления 180 градусов. Например, направление режимов интра-предсказания горизонтальной части может иметь направление tan-1(intraPredAngle/фиксированное число) с использованием фиксированного числа в горизонтальном направлении и углового параметра IntraPredAngle в вертикальном направлении, и направление режимов интра-предсказания вертикальной части может иметь направление tan(фиксированное число/intraPredAngle) с использованием углового параметра IntraPredAngle в горизонтальном направлении и фиксированного числа в вертикальном направлении. В этом отношении, фиксированное число может представлять собой степень 2. Например, фиксированное число может представлять собой одно из 32, 64 и 128.
[00328] Фиг. 29 представляет собой опорную диаграмму для описания угловых параметров IntraPredAngle, относящихся к направлениям режимов интра-предсказания, в соответствии с вариантами осуществления.
-1
-1
[00329] Направление предсказания на основе режима интра-предсказания может быть указано с использованием фиксированного числа в горизонтальном направлении и углового параметра IntraPredAngle в вертикальном направлении или может быть указано с использованием углового параметра IntraPredAngle в горизонтальном направлении и фиксированного числа в вертикальном направлении. Например, со ссылкой на фиг. 29, конкретное направление 2912 относительно текущего пиксела 2910 имеет угол tan(32/intraPredAngle) (градусов) или (90-tan(32/intraPredAngle) (градусов) с использованием углового параметра IntraPredAngle в горизонтальном направлении и фиксированного числа 32 в вертикальном направлении.
[00330] В интра-предсказании, смежный пиксел может определяться с использованием фиксированного числа и углового параметра IntraPredAngle.
[00331] Теперь будет описан процесс определения смежного пиксела 2911, указанного конкретным направлением 2911 относительно текущего пиксела 2910. Предполагается, что разница местоположения в вертикальном направлении между текущим пикселом 2910 и смежным пикселом 2911 составляет n. В этом отношении, на основе тригонометрической функции, устанавливается пропорциональное отношение, соответствующее (y+1):n=32:intraPredAngle. Из пропорционального отношения, можно вывести n=(y+1)*intraPredAngle/32. Операция n=(y+1)* intraPredAngle/32 может выполняться через битовую операцию как n=(y+1)*intraPredAngle>>5. Таким образом, местоположение смежного пиксела может определяться с использованием intraPredAngle, при условии, что размер текущего блока и местоположение текущего пиксела 2910 известны.
[00332] Когда значение (y+1)*intraPredAngle кратно 32, p указывает смежный пиксел в целочисленном местоположении, и когда значение (y+1)*intraPredAngle не кратно 32, конкретное направление на основе intraPredAngle указывает промежуток между двумя смежными пикселами (k и k+1). Когда конкретное направление на основе intraPredAngle указывает промежуток между двумя смежными пикселами (k и k+1), взвешенное среднее значение двух смежных пикселов (k и k+1) может использоваться в качестве значения предсказания текущего пиксела 2910.
[00333] В интра-предсказании, смежный пиксел в конкретном направлении используется в качестве опорного пиксела, т.е., значения предсказания, для текущего пиксела 2910. При условии фиксированного числа в горизонтальном или вертикальном направлении, направления угловых режимов интра-предсказания могут быть указаны с использованием одного параметра углового параметра IntraPredAngle. Поэтому, как описано выше со ссылкой на фиг. 27 и 28, угловой параметр IntraPredAngle, указывающий конкретные направления угловых режимов интра-предсказания, соответствующих индексам режимов интра-предсказания (predModeIntra) режимов интра-предсказания, может быть предварительно определен в виде поисковой таблицы.
[00334] Раскрытие было конкретно показано и описано со ссылкой на его варианты осуществления. В этом отношении, специалисту в данной области техники будет понятно, что различные изменения в форме и подробностях могут выполняться без отклонения от объема раскрытия. Поэтому варианты осуществления должны рассматриваться только в описательном смысле и не с целью ограничения. Объем раскрытия определяется не подробными описаниями раскрытия, а следующей формулой изобретения, и все отличия в пределах объема будут пониматься как включенные в раскрытие.
[00335] Между тем, вышеописанные варианты осуществления раскрытия могут быть написаны как программа, исполняемая на компьютере, и могут быть реализованы в универсальных цифровых компьютерах, которые исполняют программу с использованием считываемого компьютером носителя записи. Примеры считываемого компьютером носителя записи включают в себя магнитные носители хранения (например, ROM, флоппи-диски, жесткие диски и т.д.), оптические носители записи (например, CD-ROM или DVD) или тому подобное.