RU2788967C2 - Method and device for video encoding and method and device for video decoding - Google Patents
Method and device for video encoding and method and device for video decoding Download PDFInfo
- Publication number
- RU2788967C2 RU2788967C2 RU2022108221A RU2022108221A RU2788967C2 RU 2788967 C2 RU2788967 C2 RU 2788967C2 RU 2022108221 A RU2022108221 A RU 2022108221A RU 2022108221 A RU2022108221 A RU 2022108221A RU 2788967 C2 RU2788967 C2 RU 2788967C2
- Authority
- RU
- Russia
- Prior art keywords
- coding unit
- intra
- prediction mode
- coding
- current block
- Prior art date
Links
- 238000007906 compression Methods 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000000034 method Methods 0.000 description 47
- 238000010586 diagram Methods 0.000 description 28
- 230000000875 corresponding Effects 0.000 description 14
- 238000000926 separation method Methods 0.000 description 8
- 230000001131 transforming Effects 0.000 description 7
- 241000023320 Luma <angiosperm> Species 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 235000020127 ayran Nutrition 0.000 description 3
- 230000003287 optical Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 102100002652 NEGR1 Human genes 0.000 description 1
- 101700038032 NEGR1 Proteins 0.000 description 1
- 230000003044 adaptive Effects 0.000 description 1
- 230000001174 ascending Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static Effects 0.000 description 1
- 230000000576 supplementary Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Abstract
Description
Область техникиTechnical field
[0001] Раскрытие относится к способу и устройству декодирования видео и способу и устройству кодирования видео и, более конкретно, к кодированию и декодированию режима интра-предсказания текущего блока с использованием информации режима интра-предсказания смежного блока.[0001] The disclosure relates to a video decoding method and apparatus and a video encoding method and apparatus, and more specifically to encoding and decoding the intra prediction mode of a current block using intra prediction mode information of an adjacent block.
Предшествующий уровень техники Prior Art
[0002] Данные изображения кодируются посредством предопределенного кодека, соответствующего стандарту сжатия данных, например, стандарту Экспертной группы по движущимся изображениям (MPEG), и затем сохраняются в носителе записи или передаются через канал связи в форме битового потока. В последнее время, вследствие развития инфраструктур проводной/беспроводной связи, включая 5-ое поколение (5G), существует возрастающая потребность в технологии для эффективного сжатия медиа следующего поколения, таких как 4K/8K видео сверхвысокой четкости (UHD), 360-градусное видео, изображения виртуальной реальности (VR) и тому подобное, в дополнение к существующим носителям изображения.[0002] The image data is encoded with a predetermined codec conforming to a data compression standard such as the Moving Picture Experts Group (MPEG) standard, and then stored in a recording medium or transmitted via a communication channel in the form of a bitstream. Recently, due to the development of wired/wireless communication infrastructures, including the 5th generation (5G), there is an increasing need for technology to efficiently compress next generation media such as 4K/8K ultra-high-definition (UHD) video, 360-degree video, virtual reality (VR) images and the like, in addition to existing image media.
Описание вариантов осуществления Description of Embodiments
Техническая проблема Technical problem
[0003] Когда число режимов интра-предсказания, подлежащих использованию в интра-предсказании, увеличивается, объем информации, требуемой для представления режимов интра-предсказания, может увеличиваться.[0003] As the number of intra prediction modes to be used in intra prediction increases, the amount of information required to represent the intra prediction modes may increase.
Решение проблемыSolution
[0004] В соответствии с различными вариантами осуществления, режимы интра-предсказания кандидата, имеющие высокую вероятность быть режимом интра-предсказания текущего блока, определяются с использованием информации режима предсказания смежных блоков текущего блока, и режим интра-предсказания текущего блока кодируется и декодируется с использованием режимов интра-предсказания кандидата.[0004] According to various embodiments, candidate intra prediction modes having a high probability of being the intra prediction mode of the current block are determined using prediction mode information of adjacent blocks of the current block, and the intra prediction mode of the current block is encoded and decoded using candidate intra-prediction modes.
Полезные результаты раскрытия Beneficial disclosure results
[0005] В соответствии с различными вариантами осуществления, количество битов, требуемых для представления информации режима интра-предсказания текущего блока, может быть уменьшено.[0005] According to various embodiments, the number of bits required to represent the intra prediction mode information of the current block can be reduced.
Краткое описание чертежей Brief description of the drawings
[0006] Фиг. 1A представляет собой блок-схему устройства декодирования изображения, в соответствии с различными вариантами осуществления.[0006] FIG. 1A is a block diagram of an image decoding apparatus, in accordance with various embodiments.
[0007] Фиг. 1B иллюстрирует блок-схему последовательности операций способа декодирования изображения в соответствии с вариантом осуществления.[0007] FIG. 1B illustrates a flowchart of an image decoding method according to an embodiment.
[0008] Фиг. 1C иллюстрирует блок-схему последовательности операций способа декодирования изображения в соответствии с другим вариантом осуществления.[0008] FIG. 1C illustrates a flowchart of an image decoding method according to another embodiment.
[0009] Фиг. 1D представляет собой блок-схему декодера изображения в соответствии с различными вариантами осуществления.[0009] FIG. 1D is a block diagram of an image decoder according to various embodiments.
[0010] Фиг. 1E представляет собой блок-схему устройства декодирования изображения в соответствии с различными вариантами осуществления.[0010] FIG. 1E is a block diagram of an image decoding apparatus according to various embodiments.
[0011] Фиг. 2A представляет собой блок-схему устройства кодирования изображения, в соответствии с различными вариантами осуществления.[0011] FIG. 2A is a block diagram of an image encoding apparatus, in accordance with various embodiments.
[0012] Фиг. 2B иллюстрирует блок-схему последовательности операций способа кодирования изображения в соответствии с вариантом осуществления.[0012] FIG. 2B illustrates a flowchart of an image encoding method according to an embodiment.
[0013] Фиг. 2C иллюстрирует блок-схему последовательности операций способа кодирования изображения в соответствии с другим вариантом осуществления.[0013] FIG. 2C illustrates a flowchart of an image encoding method according to another embodiment.
[0014] Фиг. 2D представляет собой блок-схему кодера изображения в соответствии с различными вариантами осуществления.[0014] FIG. 2D is a block diagram of an image encoder in accordance with various embodiments.
[0015] Фиг. 2E представляет собой блок-схему устройства кодирования изображения в соответствии с вариантом осуществления.[0015] FIG. 2E is a block diagram of an image encoding apparatus according to an embodiment.
[0016] Фиг. 3 иллюстрирует выполняемый устройством декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения текущей единицы кодирования, в соответствии с вариантом осуществления.[0016] FIG. 3 illustrates a process performed by an image decoding apparatus to determine at least one coding unit by dividing the current coding unit, according to an embodiment.
[0017] Фиг. 4 иллюстрирует выполняемый устройством декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения неквадратной единицы кодирования, в соответствии с вариантом осуществления.[0017] FIG. 4 illustrates a process performed by an image decoding apparatus to determine at least one coding unit by dividing a non-square coding unit, according to an embodiment.
[0018] Фиг. 5 иллюстрирует выполняемый устройством декодирования изображения процесс разделения единицы кодирования на основе по меньшей мере одной из информации формы блока и информации режима разделенной формы, в соответствии с вариантом осуществления.[0018] FIG. 5 illustrates a process of splitting a coding unit based on at least one of the block shape information and split shape mode information performed by the image decoding apparatus, according to an embodiment.
[0019] Фиг. 6 иллюстрирует выполняемый устройством декодирования изображения процесс определения предопределенной единицы кодирования из нечетного числа единиц кодирования, в соответствии с вариантом осуществления.[0019] FIG. 6 illustrates a process performed by an image decoding apparatus for determining a predetermined coding unit from an odd number of coding units, according to an embodiment.
[0020] Фиг. 7 иллюстрирует порядок обработки множества единиц кодирования, когда устройство декодирования изображения определяет множество единиц кодирования путем разделения текущей единицы кодирования, в соответствии с вариантом осуществления.[0020] FIG. 7 illustrates a processing order of a plurality of coding units when an image decoding apparatus determines a plurality of coding units by dividing the current coding unit, according to an embodiment.
[0021] Фиг. 8 иллюстрирует выполняемый устройством декодирования изображения процесс определения, что текущая единица кодирования подлежит разделению на нечетное число единиц кодирования, когда единицы кодирования не могут быть обработаны в предопределенном порядке, в соответствии с вариантом осуществления.[0021] FIG. 8 illustrates a process performed by the image decoding apparatus for determining that the current coding unit is to be divided into an odd number of coding units when the coding units cannot be processed in a predetermined order, according to an embodiment.
[0022] Фиг. 9 иллюстрирует выполняемый устройством декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения первой единицы кодирования, в соответствии с вариантом осуществления.[0022] FIG. 9 illustrates a process performed by an image decoding apparatus to determine at least one coding unit by dividing the first coding unit, according to an embodiment.
[0023] Фиг. 10 иллюстрирует, что форма, в которую может разделяться вторая единица кодирования, ограничена, когда вторая единица кодирования, имеющая неквадратную форму, которая определяется по мере того как устройство декодирования изображения разделяет первую единицу кодирования, удовлетворяет предопределенному условию, в соответствии с вариантом осуществления.[0023] FIG. 10 illustrates that the shape into which the second coding unit can be divided is limited when the second coding unit having a non-square shape, which is determined as the image decoding apparatus divides the first coding unit, satisfies a predetermined condition, according to an embodiment.
[0024] Фиг. 11 иллюстрирует процесс, выполняемый устройством декодирования изображения, разделения квадратной единицы кодирования, когда информация режима разделенной формы указывает, что квадратная единица кодирования не подлежит разделению на четыре квадратные единицы кодирования, в соответствии с вариантом осуществления.[0024] FIG. 11 illustrates a process performed by an image decoding apparatus of splitting a square coding unit when split mode information indicates that a square coding unit is not to be divided into four square coding units, according to an embodiment.
[0025] Фиг. 12 иллюстрирует, что порядок обработки между множеством единиц кодирования может изменяться в зависимости от процесса разделения единицы кодирования, в соответствии с вариантом осуществления.[0025] FIG. 12 illustrates that the processing order between multiple coding units may change depending on the coding unit splitting process, according to an embodiment.
[0026] Фиг. 13 иллюстрирует процесс определения глубины единицы кодирования по мере того, как форма и размер единицы кодирования изменяются, когда единица кодирования рекурсивно разделяется, так что определяется множество единиц кодирования, в соответствии с вариантом осуществления.[0026] FIG. 13 illustrates a process for determining a coding unit depth as the shape and size of a coding unit change when a coding unit is recursively divided so that a plurality of coding units is determined, according to an embodiment.
[0027] Фиг. 14 иллюстрирует глубины, которые могут быть определены на основе форм и размеров единиц кодирования, и индексы части (PID), которые служат для различения единиц кодирования, в соответствии с вариантом осуществления.[0027] FIG. 14 illustrates depths that can be determined based on shapes and sizes of coding units, and part indices (PIDs) that serve to distinguish coding units, according to an embodiment.
[0028] Фиг. 15 иллюстрирует, что множество единиц кодирования определяются на основе множества предопределенных единиц данных, включенных в картинку, в соответствии с вариантом осуществления.[0028] FIG. 15 illustrates that a plurality of coding units are determined based on a plurality of predefined data units included in a picture, according to an embodiment.
[0029] Фиг. 16 иллюстрирует блок обработки, служащий в качестве критерия для определения порядка определения опорных единиц кодирования, включенных в картинку, в соответствии с вариантом осуществления.[0029] FIG. 16 illustrates a processing unit serving as a criterion for determining a determination order of coding reference units included in a picture, according to an embodiment.
[0030] Фиг. 17 иллюстрирует режимы интра-предсказания в соответствии с вариантом осуществления.[0030] FIG. 17 illustrates intra prediction modes according to an embodiment.
[0031] Фиг. 18 иллюстрирует режимы интра-предсказания в соответствии с другим вариантом осуществления.[0031] FIG. 18 illustrates intra prediction modes according to another embodiment.
[0032] Фиг. 19 представляет собой диаграмму для описания режимов интра-предсказания, подлежащих применению к неквадратной форме, в соответствии с различными вариантами осуществления.[0032] FIG. 19 is a diagram for describing intra prediction modes to be applied to a non-square shape, according to various embodiments.
[0033] Фиг. 20 представляет собой опорную диаграмму для описания процесса получения списка наиболее вероятных режимов (MPM) с использованием информации режима предсказания смежного блока, в соответствии с различными вариантами осуществления.[0033] FIG. 20 is a reference diagram for describing a process of obtaining a Most Likely Mode List (MPM) using adjacent block prediction mode information, in accordance with various embodiments.
[0034] Фиг. 21 представляет собой блок-схему последовательности операций процесса генерации списка MPM в соответствии с вариантом осуществления.[0034] FIG. 21 is a flowchart of an MPM list generation process according to an embodiment.
[0035] Фиг. 22 представляет собой диаграмму опорной выборки в соответствии с вариантом осуществления.[0035] FIG. 22 is a reference sample diagram according to the embodiment.
[0036] Фиг. 23 представляет собой опорную диаграмму для описания способа представления режима интра-предсказания как вектора, в соответствии с другим вариантом осуществления.[0036] FIG. 23 is a reference diagram for describing a method for representing the intra prediction mode as a vector, according to another embodiment.
[0037] Фиг. 24A-24C представляют собой опорные диаграммы для описания порядка приоритетов режимов интра-предсказания смежных блоков, включенных в список MPM, с учетом размеров текущего блока и смежных блоков.[0037] FIG. 24A-24C are reference diagrams for describing the priority order of intra prediction modes of adjacent blocks included in the MPM list, given the sizes of the current block and adjacent blocks.
[0038] Фиг. 25 представляет собой диаграмму, иллюстрирующую смежные блоки текущего блока, которые используются в списке MPM, в соответствии с другим вариантом осуществления.[0038] FIG. 25 is a diagram illustrating adjacent blocks of the current block that are used in the MPM list, according to another embodiment.
[0039] Фиг. 26 представляет собой опорную диаграмму, иллюстрирующую схему генерации списка MPM при параллельной обработке, в соответствии с вариантом осуществления.[0039] FIG. 26 is a reference diagram illustrating an MPM list generation scheme in parallel processing, according to an embodiment.
[0040] Фиг. 27 иллюстрирует поисковую таблицу, показывающую отношения отображения между индексами (predModeIntra) режимов интра-предсказания и угловыми параметрами (IntraPredAngle) в соответствии с режимами интра-предсказания, в соответствии с вариантом осуществления.[0040] FIG. 27 illustrates a lookup table showing mapping relationships between indices (predModeIntra) of intra prediction modes and angle parameters (IntraPredAngle) according to intra prediction modes, according to an embodiment.
[0041] Фиг. 28 иллюстрирует поисковую таблицу, показывающую отношения отображения между индексами (predModeIntra) режимов интра-предсказания и угловыми параметрами (IntraPredAngle) в соответствии с режимами интра-предсказания, в соответствии с другим вариантом осуществления.[0041] FIG. 28 illustrates a lookup table showing mapping relationships between indices (predModeIntra) of intra prediction modes and angle parameters (IntraPredAngle) according to intra prediction modes, according to another embodiment.
[0042] Фиг. 29 представляет собой опорную диаграмму для описания угловых параметров IntraPredAngle, относящихся к направлениям режима интра-предсказания, в соответствии с вариантами осуществления.[0042] FIG. 29 is a reference diagram for describing IntraPredAngle angular parameters related to intra prediction mode directions according to embodiments.
Лучший режим осуществления изобретенияBest Mode for Carrying Out the Invention
[0043] В соответствии с вариантом осуществления, способ декодирования видео включает в себя: определение, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком; когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, получение, из битового потока, информации индекса режима интра-предсказания, указывающей один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания; определение режима интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания; и выполнение интра-предсказания на текущем блоке с использованием режима интра-предсказания текущего блока.[0043] According to an embodiment, a video decoding method includes: determining, based on the encoding information of the current block, whether the intra prediction mode of the current block is to be determined from an intra prediction mode candidate list obtained using a plurality of prediction mode information pieces adjacent blocks adjacent to the current block; when the intra prediction mode of the current block is to be determined from the intra prediction mode candidate list, obtaining, from the bitstream, intra prediction mode index information indicating one of the intra prediction modes of candidates included in the intra prediction mode candidate list; determining an intra prediction mode of the current block using the obtained intra prediction mode index information; and performing intra-prediction on the current block using the intra-prediction mode of the current block.
[0044] В соответствии с вариантом осуществления, информация кодирования может включать в себя информацию опорной выборки, подлежащую использованию в интра-предсказании касательно текущего блока, и информацию под-разбиения, указывающую, подлежит ли текущий блок разделению на под-разбиения, когда информация опорной выборки указывает, что смежный пиксел, который не является непосредственно смежным с текущим блоком, подлежит использованию в качестве опорной выборки текущего блока, или информация под-разбиения указывает, что текущий блок подлежит разделению на под-разбиения, режим интра-предсказания текущего блока определяется из списка кандидатов режима интра-предсказания, когда информация опорной выборки указывает, что смежный пиксел, который является непосредственно смежным с текущим блоком, подлежит использованию в качестве опорной выборки текущего блока, и информация под-разбиения указывает, что текущий блок не подлежит разделению на под-разбиения, информацию флага списка кандидатов режима интра-предсказания получают из битового потока, причем информация флага списка кандидатов режима интра-предсказания указывает, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком.[0044] According to an embodiment, the encoding information may include reference sample information to be used in intra-prediction regarding the current block, and sub-split information indicating whether the current block is to be divided into sub-splits when the reference sample information sample indicates that an adjacent pixel that is not directly adjacent to the current block is to be used as a reference sample of the current block, or the sub-slice information indicates that the current block is to be sub-sliced, the intra-prediction mode of the current block is determined from of the intra-prediction mode candidate list, when the reference sample information indicates that an adjacent pixel that is directly adjacent to the current block is to be used as the reference sample of the current block, and the sub-division information indicates that the current block is not to be divided into sub- splitting, candidate list flag information re The intra prediction mode candidate list is obtained from the bitstream, wherein the intra prediction mode candidate list flag information indicates whether the intra prediction mode of the current block is to be determined from the intra prediction mode candidate list obtained using a plurality of pieces of adjacent block prediction mode information adjacent to the current block.
[0045] В соответствии с вариантом осуществления, получение информации индекса режима интра-предсказания из битового потока может включать в себя получение информации не-углового режима интра-предсказания, указывающей, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом интра-предсказания, и когда информация не-углового режима интра-предсказания не указывает конкретный не-угловой режим интра-предсказания, получение информации индекса режима интра-предсказания из битового потока.[0045] According to an embodiment, obtaining intra-prediction mode index information from the bitstream may include obtaining non-angular intra-prediction mode information indicating whether the intra-prediction mode of the current block is a particular non-angular intra-prediction mode. prediction, and when the non-angular intra prediction mode information does not indicate a specific non-angular intra prediction mode, obtaining intra prediction mode index information from the bitstream.
[0046] В соответствии с вариантом осуществления, конкретный не-угловой режим интра-предсказания может представлять собой одно из режима DC и планарного режима.[0046] According to an embodiment, the specific non-angular intra-prediction mode may be one of DC mode and planar mode.
[0047] В соответствии с вариантом осуществления, когда информация не-углового режима интра-предсказания указывает конкретный не-угловой режим интра-предсказания, режим интра-предсказания текущего блока может определяться как конкретный не-угловой режим интра-предсказания.[0047] According to an embodiment, when the non-angular intra prediction mode information indicates a specific non-angular intra prediction mode, the intra prediction mode of the current block may be determined as the specific non-angular intra prediction mode.
[0048] В соответствии с вариантом осуществления, когда режим интра-предсказания текущего блока не определяется из списка кандидатов режима интра-предсказания, информация режима интра-предсказания текущего блока может быть получена из битового потока.[0048] According to an embodiment, when the intra prediction mode of the current block is not determined from the intra prediction mode candidate list, the intra prediction mode information of the current block can be obtained from the bitstream.
[0049] В соответствии с вариантом осуществления, список кандидатов режима интра-предсказания может включать в себя предопределенное число режимов интра-предсказания кандидатов, определенных с использованием режима предсказания смежного блока, смежного на правой стороне текущего блока, и режима предсказания смежного блока, смежного на верхней стороне текущего блока.[0049] According to an embodiment, the intra prediction mode candidate list may include a predetermined number of candidate intra prediction modes determined using an adjacent block prediction mode adjacent on the right side of the current block and an adjacent block prediction mode adjacent on top side of the current block.
[0050] В соответствии с вариантом осуществления, устройство декодирования видео включает в себя: память и по меньшей мере один процессор, соединенный с памятью и сконфигурированный, чтобы [0050] According to an embodiment, a video decoding apparatus includes: a memory and at least one processor coupled to the memory and configured to
[0051] определять, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком; когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, получать, из битового потока, информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания; определять режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания; и выполнять интра-предсказание на текущем блоке с использованием режима интра-предсказания текущего блока.[0051] determining, based on the coding information of the current block, whether the intra prediction mode of the current block is to be determined from an intra prediction mode candidate list obtained using a plurality of pieces of adjacent block prediction mode information adjacent to the current block; when the intra prediction mode of the current block is to be determined from the intra prediction mode candidate list, obtain, from the bitstream, intra prediction mode index information indicating one of the intra prediction modes of candidates included in the intra prediction mode candidate list; determine the intra prediction mode of the current block using the obtained intra prediction mode index information; and perform intra-prediction on the current block using the intra-prediction mode of the current block.
[0052] В соответствии с вариантом осуществления, способ кодирования видео включает в себя: определение режима интра-предсказания текущего блока; определение, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком; и когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, генерацию битового потока, включающего в себя информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания.[0052] According to an embodiment, a video encoding method includes: determining an intra prediction mode of a current block; determining, based on the encoding information of the current block, whether the intra prediction mode of the current block is to be determined from an intra prediction mode candidate list obtained using a plurality of pieces of adjacent block prediction mode information adjacent to the current block; and when the intra prediction mode of the current block is to be determined from the intra prediction mode candidate list, generating a bitstream including intra prediction mode index information indicating one of the intra prediction modes of candidates included in the intra prediction mode candidate list.
Режим раскрытия Opening mode
[0053] Преимущества и свойства вариантов осуществления и способов их выполнения могут стать более понятными со ссылкой на варианты осуществления и прилагаемые чертежи. В этом отношении, раскрытие может иметь разные формы и не должно пониматься как ограниченное вариантами осуществления, изложенными здесь. Напротив, эти варианты осуществления обеспечены так, что настоящее раскрытие будет тщательным и полным и будет полностью соответствовать концепции раскрытия для специалиста в данной области техники.[0053] The advantages and properties of the embodiments and methods for their implementation may become more clear with reference to the embodiments and the accompanying drawings. In this respect, the disclosure may take many forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided such that the present disclosure will be thorough and complete, and will be fully consistent with the concept of the disclosure to those skilled in the art.
[0054] Термины, используемые в спецификации, будут определены кратко, и варианты осуществления будут описаны подробно.[0054] The terms used in the specification will be defined briefly and the embodiments will be described in detail.
[0055] Все термины, включая описательные или технические термины, которые используются в спецификации, должны пониматься как имеющие значения, которые очевидны специалисту в данной области техники. Однако термины могут иметь разные значения в соответствии с намерением специалиста в данной области техники, предшествующими случаями или появлением новых технологий. Также, некоторые термины могут произвольно выбираться заявителем, и в этом случае, значения выбранных терминов будут описаны подробно в подробном описании раскрытия. Поэтому, термины, используемые в раскрытии, не должны интерпретироваться на основе только их названий, но должны определяться на основе значения терминов вместе с описаниями на всем протяжении спецификации.[0055] All terms, including descriptive or technical terms, that are used in the specification should be understood to have meanings that are obvious to a person skilled in the art. However, the terms may have different meanings according to the intent of a person skilled in the art, previous occurrences, or the advent of new technologies. Also, some terms may be arbitrarily chosen by the applicant, in which case, the meanings of the chosen terms will be described in detail in the detailed description of the disclosure. Therefore, terms used in the disclosure should not be interpreted based on their names alone, but should be defined based on the meaning of the terms, together with descriptions throughout the specification.
[0056] В последующей спецификации, формы единственного числа включают в себя формы множественного числа, если контекст не указывает явно иное.[0056] In the following specification, singular forms include plural forms unless the context clearly indicates otherwise.
[0057] Когда часть "включает в себя" или "содержит" элемент, если только отсутствует конкретное описание, противоположное этому, часть может дополнительно включать в себя другие элементы, не исключая других элементов.[0057] When a part "includes" or "comprises" an element, unless specifically described to the contrary, the part may further include other elements without excluding other elements.
[0058] В дальнейших описаниях, термины, такие как "модуль", указывают компонент программного обеспечения или аппаратных средств, и "модуль" выполняет определенные функции. Однако "модуль" не ограничен программным обеспечением или аппаратными средствами. "Модуль" может формироваться так, чтобы находиться в доступном носителе хранения, или может формироваться так, чтобы применять один или несколько процессоров. Таким образом, например, термин "модуль" может относиться к компонентам, таким как компоненты программного обеспечения, компоненты объектно-ориентированного программного обеспечения, компоненты класса и компоненты задач, и может включать в себя процессы, функции, атрибуты, процедуры, подпрограммы, сегменты программного кода, драйверы, прошивку, микрокоды, схемы, данные, базы данных, структуры данных, таблицы, массивы или переменные. Функция, обеспечиваемая компонентами и "модулями", может быть ассоциирована с меньшим числом компонентов и "модулей" или может делиться на дополнительные компоненты и "модули".[0058] In the following descriptions, terms such as "module" indicate a software or hardware component, and "module" performs certain functions. However, the "module" is not limited to software or hardware. The "module" may be configured to reside in an available storage medium, or may be configured to use one or more processors. Thus, for example, the term "module" may refer to components such as software components, object-oriented software components, class components, and task components, and may include processes, functions, attributes, procedures, subroutines, software segments. code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, or variables. The functionality provided by components and "modules" may be associated with a smaller number of components and "modules", or may be subdivided into additional components and "modules".
[0059] В соответствии с вариантом осуществления раскрытия, "модуль" может быть реализован как процессор и память. Термин "процессор" должен интерпретироваться широко, чтобы включать в себя универсальный процессор, центральный процессор (CPU), микропроцессор, цифровой сигнальный процессор (DSP), контроллер, микроконтроллер, машина состояния и тому подобное. В некоторых средах, "процессор" может относиться к специализированной интегральной схеме (ASIC), программируемому логическому устройству (PLD), программируемой вентильной матрице (FPGA) или тому подобному. Термин "процессор" может относиться к комбинации устройств обработки, таких как, например, комбинация DSP и микропроцессора, комбинация множества микропроцессоров, комбинация одного или нескольких микропроцессоров во взаимосвязи с ядром DSP или комбинация любой другой из таких конфигураций.[0059] In accordance with an embodiment of the disclosure, a "module" may be implemented as a processor and memory. The term "processor" is to be interpreted broadly to include a general purpose processor, central processing unit (CPU), microprocessor, digital signal processor (DSP), controller, microcontroller, state machine, and the like. In some environments, "processor" may refer to an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field-programmable gate array (FPGA), or the like. The term "processor" may refer to a combination of processing devices such as, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or a combination of any other such configuration.
[0060] Термин "память" должен интерпретироваться широко, чтобы включать в себя любой электронный компонент, способный хранить электронную информацию. Термин "память" может относиться к различным типам считываемых процессором носителей, таких как память с произвольным доступом (RAM), постоянная память (ROM), энергонезависимая память с произвольным доступом (NVRAM), программируемая постоянная память (PROM), стираемая программируемая постоянная память (EPROM), электрически стираемая PROM (EEPROM), флэш-память, магнитное или оптическое устройство хранения данных, регистры и тому подобное. Когда процессор может считывать информацию из памяти и/или записывать информацию в память, память должна находиться в состоянии электронной коммуникации с процессором. Память, интегрированная в процессор, находится в состоянии электронной коммуникации с процессором.[0060] The term "memory" should be interpreted broadly to include any electronic component capable of storing electronic information. The term "memory" can refer to various types of processor-readable media such as random access memory (RAM), read only memory (ROM), non-volatile random access memory (NVRAM), programmable read only memory (PROM), erasable programmable read only memory ( EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical storage device, registers, and the like. When the processor can read information from the memory and/or write information to the memory, the memory must be in a state of electronic communication with the processor. The memory integrated into the processor is in electronic communication with the processor.
[0061] Далее, "изображение" может представлять собой статическое изображение, такое как неподвижное изображение видео, или может представлять собой динамическое изображение, такое как движущееся изображение, то есть, само видео.[0061] Further, the "image" may be a static image, such as a still image of a video, or may be a dynamic image, such as a moving image, that is, the video itself.
[0062] Далее, "выборка" обозначает данные, назначенные положению дискретизации изображения, т.е., данные, подлежащие обработке. Например, значения пикселов изображения в пространственной области и коэффициенты преобразования на области преобразования могут быть выборками. Единица, включающая в себя по меньшей мере одну такую выборку, может определяться как блок.[0062] Hereinafter, "sample" refers to data assigned to a sampling position of an image, i.e., data to be processed. For example, the pixel values of an image in the spatial domain and the transform coefficients on the transform region may be samples. A unit including at least one such sample may be defined as a block.
[0063] Здесь и далее, раскрытие теперь будет описано более полно со ссылкой на прилагаемые чертежи, чтобы специалист в данной области техники мог выполнить варианты осуществления без каких-либо сложностей. К тому же, части, не являющиеся релевантными описанию, будут опущены на чертежах для ясного описания раскрытия.[0063] Hereinafter, the disclosure will now be described more fully with reference to the accompanying drawings so that a person skilled in the art can perform the embodiments without any difficulty. In addition, parts that are not relevant to the description will be omitted from the drawings for a clear description of the disclosure.
[0064] Здесь и далее, устройство кодирования изображения и устройство декодирования изображения, и способ кодирования изображения и способ декодирования изображения в соответствии с вариантами осуществления будут описаны со ссылкой на фиг. 1A-29. Со ссылкой на фиг. 3-16, будет описан способ определения единицы данных изображения в соответствии с вариантом осуществления, и со ссылкой на фиг. 1A-2E и 17-29, будут описаны способы кодирования и декодирования режима интра-предсказания.[0064] Hereinafter, an image encoding apparatus and an image decoding apparatus, and an image encoding method and an image decoding method according to the embodiments will be described with reference to FIG. 1A-29. With reference to FIG. 3-16, a method for determining an image data unit according to the embodiment will be described, and with reference to FIG. 1A-2E and 17-29, methods for encoding and decoding the intra prediction mode will be described.
[0065] Далее, способ и устройство кодирования или декодирования изображения для адаптивного выполнения интра-предсказания, на основе различных форм единицы кодирования, в соответствии с вариантом осуществления раскрытия, будут теперь описаны со ссылкой на Фиг. 1A-2E.[0065] Next, a method and apparatus for encoding or decoding an image for adaptively performing intra prediction based on various forms of a coding unit, according to an embodiment of the disclosure, will now be described with reference to FIG. 1A-2E.
[0066] Фиг. 1A представляет собой блок-схему устройства декодирования изображения, в соответствии с различными вариантами осуществления.[0066] FIG. 1A is a block diagram of an image decoding apparatus, in accordance with various embodiments.
[0067] Устройство 100 декодирования изображения может включать в себя приемник 110 и декодер 120. Приемник 110 и декодер 120 могут включать в себя по меньшей мере один процессор. Также, приемник 110 и декодер 120 могут включать в себя память, хранящую инструкции, подлежащие выполнению по меньшей мере одним процессором.[0067]
[0068] Приемник 110 может принимать битовый поток. Битовый поток включает в себя информацию изображения, закодированного устройством 150 кодирования изображения, которое будет описано ниже. Также, битовый поток может передаваться от устройства 150 кодирования изображения. Устройство 150 кодирования изображения и устройство 100 декодирования изображения могут быть соединены проводным или беспроводным образом, и приемник 110 может принимать битовый поток проводным или беспроводным образом. Приемник 110 может принимать битовый поток из носителя хранения, такого как оптический носитель или жесткий диск. Декодер 120 может восстанавливать изображение на основе информации, полученной из принятого битового потока. Декодер 120 может получать, из битового потока, синтаксический элемент для восстановления изображения. Декодер 120 может восстанавливать изображение на основе синтаксического элемента.[0068]
[0069] Приемник 110 может получать, из битового потока, информацию режима предсказания о текущем блоке и информацию режима интра-предсказания о текущем блоке.[0069] The
[0070] Информация режима предсказания о текущем блоке, которая включена в битовый поток, может включать в себя информацию о режиме пропуска, режиме интра-предсказания или режиме интер-предсказания. Когда текущий блок не соответствует режиму пропуска, может сигнализироваться, какой режим предсказания из режима интра-предсказания или режима интер-предсказания был использован, чтобы кодировать текущий блок.[0070] The prediction mode information about the current block that is included in the bitstream may include information about a skip mode, an intra prediction mode, or an inter prediction mode. When the current block does not match the skip mode, which prediction mode from the intra-prediction mode or the inter-prediction mode was used to encode the current block can be signaled.
[0071] Информация режима интра-предсказания о текущем блоке может представлять собой информацию о режиме интра-предсказания, подлежащем применению к текущему блоку, причем режим интра-предсказания является одним из множества режимов интра-предсказания. Например, режим интра-предсказания может быть одним из не-угловых режимов, включая режим DC, планарный режим, плоский режим и билинейный режим, и множества угловых режимов, имеющих направления предсказания. Угловые режимы могут включать в себя горизонтальный режим, вертикальный режим и диагональный режим и могут также включать в себя режимы, имеющие предопределенные направления, за исключением горизонтального направления, вертикального направления и диагонального направления. Например, число угловых режимов может составлять 65 или 33.[0071] The intra prediction mode information about the current block may be information about the intra prediction mode to be applied to the current block, the intra prediction mode being one of a plurality of intra prediction modes. For example, the intra-prediction mode may be one of non-angular modes, including DC mode, planar mode, flat mode, and bilinear mode, and a plurality of angle modes having prediction directions. The angle modes may include a horizontal mode, a vertical mode, and a diagonal mode, and may also include modes having predetermined directions except for the horizontal direction, the vertical direction, and the diagonal direction. For example, the number of angle modes can be 65 or 33.
[0072] Декодер 120 может получать блок предсказания текущего блока, на основе режима предсказания текущего блока. Декодер 120 может получать, из битового потока, информацию коэффициента преобразования о текущем блоке, может выполнять обратное квантование и обратное преобразование с использованием полученной информации коэффициента преобразования, и таким образом может получать остаточную выборку остаточного блока относительно текущего блока.[0072] Decoder 120 may obtain a prediction block of the current block based on the prediction mode of the current block. The
[0073] Как будет описано ниже, в соответствии с вариантом осуществления, декодер 120 определяет, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком. Когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, декодер 120 получает, из битового потока, информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания, и определяет режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания. После этого, декодер 120 выполняет интра-предсказание с использованием режима интра-предсказания текущего блока. В соответствии с вариантом осуществления, декодер 120 получает информацию не-углового режима интра-предсказания, указывающую, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом интра-предсказания. Конкретный не-угловой режим интра-предсказания может представлять собой одно из режима DC и планарного режима. Когда информация не-углового режима интра-предсказания указывает конкретный не-угловой режим интра-предсказания, декодер 120 определяет режим интра-предсказания текущего блока как конкретный не-угловой режим интра-предсказания, а когда информация не-углового режима интра-предсказания не указывает конкретный не-угловой режим интра-предсказания, декодер 120 получает, из битового потока, информацию индекса режима интра-предсказания, указывающую таковой в списке кандидатов режима интра-предсказания, полученного на основе информации режима предсказания смежного блока, смежного с текущим блоком. После этого, декодер 120 может определять режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания (MPM idx) и может выполнять интра-предсказание на текущем блоке с использованием режима интра-предсказания текущего блока. Декодер 120 может восстанавливать текущий блок, на основе блока предсказания текущего блока и остаточного блока текущего блока. Декодер 120 может генерировать восстановленную выборку в текущем блоке с использованием значения выборки для выборки предсказания в блоке предсказания текущего блока и значения выборки остаточной выборки в остаточном блоке текущего блока, и может генерировать восстановленный блок текущего блока на основе восстановленной выборки.[0073] As will be described below, according to an embodiment, the
[0074] Фиг. 1B иллюстрирует блок-схему последовательности операций способа декодирования изображения в соответствии с вариантом осуществления.[0074] FIG. 1B illustrates a flowchart of an image decoding method according to an embodiment.
[0075] В операции 150, декодер 120 определяет, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком.[0075] In
[0076] В операции 151, когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, декодер 120 получает, из битового потока, информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания, и в операции 152, декодер 120 определяет режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания.[0076] In
[0077] В операции 153, декодер 120 выполняет интра-предсказание с использованием режима интра-предсказания текущего блока.[0077] In
[0078] Фиг. 1C иллюстрирует блок-схему последовательности операций способа декодирования изображения в соответствии с другим вариантом осуществления.[0078] FIG. 1C illustrates a flowchart of an image decoding method according to another embodiment.
[0079] В операции 160, декодер 120 получает информацию не-углового режима интра-предсказания, указывающую, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом интра-предсказания. Конкретный не-угловой режим интра-предсказания может представлять собой один из режима DC и планарного режима.[0079] In
[0080] В операции 161, декодер 120 определяет, является ли информация не-углового режима интра-предсказания конкретным не-угловым режимом интра-предсказания. В результате определения в операции 161, когда информация не-углового режима интра-предсказания указывает конкретный не-угловой режим интра-предсказания, в операции 162, декодер 120 определяет режим интра-предсказания текущего блока как конкретный не-угловой режим интра-предсказания, а когда информация не-углового режима интра-предсказания не указывает конкретный не-угловой режим интра-предсказания, в операции 163, декодер 120 получает, из битового потока, информацию индекса режима интра-предсказания, указывающую таковой в списке кандидатов режима интра-предсказания, полученном на основе информации режима предсказания смежного блока, смежного с текущим блоком. В операции 164, декодер 120 может определять режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания (MPM idx), и в операции 165, декодер 120 может выполнять интра-предсказание на текущем блоке с использованием режима интра-предсказания текущего блока.[0080] In
[0081] Фиг. 1D представляет собой блок-схему декодера 6000 изображения в соответствии с различными вариантами осуществления.[0081] FIG. 1D is a block diagram of an
[0082] Декодер 6000 изображения в соответствии с различными вариантами осуществления выполняет операции, необходимые, чтобы декодер 120 устройства 100 декодирования изображения декодировал данные изображения.[0082] An
[0083] Со ссылкой на фиг. 1D, энтропийный декодер 6150 синтаксически анализирует, из битового потока 6050, закодированные данные изображения, подлежащие декодированию, и информацию кодирования, необходимую для декодирования. Закодированные данные изображения представляют собой квантованный коэффициент преобразования, и деквантователь 6200 и обратный преобразователь 6250 восстанавливают остаточные данные из квантованного коэффициента преобразования.[0083] With reference to FIG. 1D, the
[0084] Интра-предсказатель 6400 выполняет интра-предсказание на каждом из блоков. Как будет описано ниже, в соответствии с вариантом осуществления, интра-предсказатель 6400 определяет, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком, и когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, интра-предсказатель 6400 получает, из битового потока, информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания, и определяет режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания.[0084] The
[0085] Интер-предсказатель 6350 выполняет интер-предсказание на каждом блоке с использованием опорного изображения, полученного из буфера 6300 восстановленной картинки. Данные пространственной области для блока текущего изображения могут восстанавливаться путем суммирования данных остатка и данных предсказания каждого блока, которые сгенерированы интра-предсказателем 6400 или интер-предсказателем 6350, и модуль 6450 устранения блочности и модуль 6500 выполнения адаптивного смещения выборки (SAO) могут выполнять контурную фильтрацию на восстановленных данных пространственной области, так что может выводиться отфильтрованное восстановленное изображение. Восстановленные изображения, хранящиеся в буфере 6300 восстановленной картинки, могут выводиться как опорное изображение.[0085] The inter-predictor 6350 performs inter-prediction on each block using the reference image obtained from the reconstructed
[0086] Чтобы декодер 120 устройства 100 декодирования изображения кодировал данные изображения, декодер 6000 изображения в соответствии с различными вариантами осуществления может выполнять операции каждой стадии на каждом блоке.[0086] In order for the
[0087] Фиг. 1E представляет собой блок-схему устройства 100 декодирования изображения в соответствии с вариантом осуществления.[0087] FIG. 1E is a block diagram of an
[0088] Устройство 100 декодирования изображения в соответствии с вариантом осуществления может включать в себя память 130 и по меньшей мере один процессор 125, соединенный с памятью 130. Операции устройства 100 декодирования изображения в соответствии с вариантом осуществления могут выполняться отдельными процессорами или могут выполняться посредством управления центрального процессора. Также, память 130 устройства 100 декодирования изображения может хранить данные, принятые из внешнего источника, и данные, сгенерированные процессором. Процессор 125 устройства 100 декодирования изображения может определять, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком, и когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, процессор 125 может получать, из битового потока, информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания, и может определять режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания.[0088] The
[0089] Фиг. 2A представляет собой блок-схему устройства кодирования изображения, в соответствии с различными вариантами осуществления.[0089] FIG. 2A is a block diagram of an image encoding apparatus, in accordance with various embodiments.
[0090] Устройство 150 кодирования изображения в соответствии с различными вариантами осуществления может включать в себя кодер 155 и модуль 160 вывода.[0090] The
[0091] Кодер 155 и модуль 160 вывода могут включать в себя по меньшей мере один процессор. Также, кодер 155 и модуль 160 вывода могут включать в себя память, хранящую инструкции, подлежащие выполнению по меньшей мере одним процессором. Кодер 155 и модуль 160 вывода могут быть реализованы как отдельные компоненты аппаратных средств, или кодер 155 и модуль 160 вывода могут быть включены в один компонент аппаратных средств.[0091] Encoder 155 and
[0092] Кодер 155 определяет режим предсказания текущего блока путем применения различных режимов предсказания, включая режим пропуска, режим интра-предсказания, режим интер-предсказания или тому подобное. Когда текущий блок не соответствует режиму пропуска, может сигнализироваться, какой режим предсказания из режима интра-предсказания или режима интер-предсказания был использован, чтобы кодировать текущий блок.[0092] The
[0093] Кодер 155 может получать блок предсказания текущего блока, на основе режима предсказания текущего блока, и затем может кодировать остаток путем преобразования и квантования остатка, который представляет собой значение разности между текущим блоком и блоком предсказания. Кодер 155 может определять кандидата режима интра-предсказания, подлежащего применению к текущему блоку, с использованием ширины и высоты текущего блока. Кодер 155 может кодировать информацию о режиме интра-предсказания текущего блока. Кодер 155 определяет режим интра-предсказания, в котором затраты скорости-искажения (RD) являются оптимальными, путем применения режимов интра-предсказания в соответствии с различными вариантами осуществления. Когда режим предсказания текущего блока наконец определен как режим интра-предсказания, кодер 155 может добавлять, в битовый поток, множество фрагментов информации о том, какой режим предсказания из режима пропуска, режима интер-предсказания и режима интра-предсказания используется, чтобы предсказывать текущий блок, и информацию режима интра-предсказания интра-предсказанного текущего блока, и может передавать битовый поток на устройство 100 декодирования изображения.[0093] Encoder 155 may obtain a prediction block of the current block based on the prediction mode of the current block, and then may encode a residual by transforming and quantizing the residual, which is a difference value between the current block and the prediction block.
[0094] Модуль 160 вывода может генерировать битовый поток, включающий в себя информацию режима интра-предсказания о текущем блоке и информацию структуры, для определения единиц данных, имеющих иерархически разделенные формы, и может выводить битовый поток.[0094] The
[0095] Фиг. 2B иллюстрирует блок-схему последовательности операций способа кодирования изображения в соответствии с вариантом осуществления.[0095] FIG. 2B illustrates a flowchart of an image encoding method according to an embodiment.
[0096] В операции 250, кодер 155 применяет режимы интра-предсказания, доступные для текущего блока, и определяет режим интра-предсказания, имеющий оптимальные затраты RD.[0096] In
[0097] В операции 251, кодер 155 определяет, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком.[0097] In
[0098] В операции 252, когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, кодер 155 генерирует битовый поток, включающий в себя информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания.[0098] In
[0099] Фиг. 2C иллюстрирует блок-схему последовательности операций способа кодирования изображения в соответствии с другим вариантом осуществления.[0099] FIG. 2C illustrates a flowchart of an image encoding method according to another embodiment.
[00100] В операции 271, кодер 155 применяет режимы интра-предсказания, доступные для текущего блока, и определяет режим интра-предсказания, имеющий оптимальные затраты RD.[00100] In
[00101] В операции 272, кодер 155 определяет, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом интра-предсказания. В результате определения в операции 272, когда режим интра-предсказания текущего блока является конкретным не-угловым режимом интра-предсказания, в операции 273, кодер 155 добавляет информацию о конкретном не-угловом режиме интра-предсказания как информацию о режиме интра-предсказания текущего блока в битовый поток. Когда режим интра-предсказания текущего блока не является конкретным не-угловым режимом интра-предсказания, в операции 274, кодер 155 устанавливает список кандидатов режима интра-предсказания (список MPM) на основе информации режима предсказания смежного блока, смежного с текущим блоком, и в операции 275, кодер 155 генерирует битовый поток, включающий в себя информацию индекса режима интра-предсказания (MPM idx), указывающую таковой в списке кандидатов режима интра-предсказания.[00101] In
[00102] Фиг. 2D представляет собой блок-схему кодера изображения в соответствии с различными вариантами осуществления.[00102] FIG. 2D is a block diagram of an image encoder in accordance with various embodiments.
[00103] Кодер 7000 изображения в соответствии с различными вариантами осуществления выполняет операции, необходимые, чтобы кодер 155 устройства 150 кодирования изображения кодировал данные изображения.[00103] An
[00104] То есть, интра-предсказатель 7200 выполняет интра-предсказание на каждом из блоков текущего изображения 7050, и интер-предсказатель 7150 выполняет интер-предсказание на каждом из блоков с использованием текущего изображения 7050 и опорного изображения, полученного из буфера 7100 восстановленной картинки.[00104] That is, the
[00105] Остаточные данные получают путем вычитания данных предсказания из данных блока, подлежащего кодированию в текущем изображении 7050, причем данные предсказания относятся к каждому блоку и выводятся из интра-предсказателя 7200 или интер-предсказателя 7150, и преобразователь 7250 и квантователь 7300 могут выводить квантованный коэффициент преобразования каждого блока путем выполнения преобразования и квантования на остаточных данных.[00105] The residual data is obtained by subtracting the prediction data from the block data to be encoded in the
[00106] Деквантователь 7450 и обратный преобразователь 7500 могут восстанавливать остаточные данные пространственной области путем выполнения обратного квантования и обратного преобразования на квантованном коэффициенте преобразования. Восстановленные остаточные данные пространственной области могут добавляться к данным предсказания, которые относятся к каждому блоку и выводятся из интра-предсказателя 7200 или интер-предсказателя 7150, и, таким образом, могут восстанавливаться как данные пространственной области относительно блока текущего изображения 7050. Модуль 7550 устранения блочности и модуль 7600 выполнения SAO генерируют отфильтрованное восстановленное изображение путем выполнения контурной фильтрации на восстановленных данных пространственной области. Сгенерированное восстановленное изображение сохраняется в буфере 7100 восстановленной картинки. Восстановленные изображения, хранящиеся в буфере 7100 восстановленной картинки, могут использоваться в качестве опорного изображения для интер-предсказания относительно другого изображения. Энтропийный кодер 7350 может энтропийно кодировать квантованный коэффициент преобразования, и энтропийно закодированный коэффициент может выводиться как битовый поток 7400.[00106] The
[00107] Чтобы кодер 7000 изображения в соответствии с различными вариантами осуществления применялся к устройству 150 кодирования изображения, кодер 7000 изображения в соответствии с различными вариантами осуществления может выполнять операции каждой стадии на каждом блоке.[00107] In order for the
[00108] Фиг. 2E представляет собой блок-схему устройства 150 кодирования изображения в соответствии с вариантом осуществления.[00108] FIG. 2E is a block diagram of an
[00109] Устройство 150 кодирования изображения в соответствии с вариантом осуществления может включать в себя память 165 и по меньшей мере один процессор 170, соединенный с памятью 165. Операции устройства 150 кодирования изображения в соответствии с вариантом осуществления могут выполняться отдельными процессорами или могут выполняться под управлением центрального процессора. Также, память 165 устройства 150 кодирования изображения может хранить данные, принятые от внешнего источника, и данные, сгенерированные процессором.[00109] The
[00110] Процессор 170 устройства 150 кодирования изображения может применять режимы интра-предсказания, доступные для текущего блока, и определять режим интра-предсказания, имеющий оптимальные затраты RD, может определять, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком, и когда режим интра-предсказания текущего блока должен определяться из списка кандидатов режима интра-предсказания, процессор 170 может генерировать битовый поток, включающий в себя информацию индекса режима интра-предсказания, указывающую один из режимов интра-предсказания кандидатов, включенных в список кандидатов режима интра-предсказания.[00110] The
[00111] Далее, разделение единицы кодирования будет описано подробно в соответствии с вариантом осуществления раскрытия.[00111] Next, the division of the coding unit will be described in detail in accordance with an embodiment of the disclosure.
[00112] Сначала, одна картинка может разделяться на одну или несколько вырезок или один или несколько мозаичных элементов. Одна вырезка или один мозаичный элемент может представлять собой последовательность одной или нескольких наибольших единиц кодирования (единиц дерева кодирования (CTU)). Существует наибольший блок кодирования (блок дерева кодирования (CTB)), концептуально сопоставимый с наибольшей единицей кодирования (CTU).[00112] First, one picture may be divided into one or more slices or one or more tiles. One slice or one tile may be a sequence of one or more largest coding units (coding tree units (CTU)). There is a largest coding unit (a coding tree block (CTB)), conceptually comparable to a largest coding unit (CTU).
[00113] Наибольшая единица кодирования (CTB) относится к блоку N×N, включающему в себя N×N выборок (где N является целым числом). Каждый компонент цвета может разделяться на один или несколько наибольших блоков кодирования.[00113] The largest coding unit (CTB) refers to an NxN block including NxN samples (where N is an integer). Each color component may be divided into one or more larger coding units.
[00114] Когда картинка имеет три массива выборок (массивы выборок для компонентов Y, Cr и Cb, соответственно), наибольшая единица кодирования (CTU) включает в себя наибольший блок кодирования выборки яркости, два соответствующих наибольших блока кодирования выборок цветности и синтаксические элементы, используемые, чтобы кодировать выборку яркости и выборки цветности. Когда картинка является монохромной картинкой, наибольшая единица кодирования включает в себя наибольший блок кодирования монохромной выборки и синтаксические элементы, используемые, чтобы кодировать монохромные выборки. Когда картинка является картинкой, закодированной в цветовых плоскостях, отдельных соответственно компонентам цвета, наибольшая единица кодирования включает в себя синтаксические элементы, используемые, чтобы кодировать картинку и выборки картинки.[00114] When a picture has three sample arrays (sample arrays for the Y, Cr, and Cb components, respectively), the largest coding unit (CTU) includes the largest luminance sample coding unit, the two corresponding largest chrominance sample coding units, and the syntax elements used to encode the luma sample and the chrominance sample. When the picture is a monochrome picture, the largest coding unit includes the largest monochrome sample coding unit and the syntax elements used to encode the monochrome samples. When a picture is a picture encoded in color planes separate according to color components, the largest coding unit includes the syntax elements used to encode the picture and the picture samples.
[00115] Один наибольший блок кодирования (CTB) может разделяться на M×N блоков кодирования, включающих в себя M×N выборок (где M и N являются целыми числами).[00115] One largest coding block (CTB) may be divided into MxN coding blocks including MxN samples (where M and N are integers).
[00116] Когда картинка имеет массивы выборок для соответственных компонентов Y, Cr и Cb, единица кодирования (CU) включает в себя блок кодирования выборки яркости, два соответствующих блока кодирования выборок цветности и синтаксические элементы, используемые, чтобы кодировать выборку яркости и выборки цветности. Когда картинка является монохромной картинкой, единица кодирования включает в себя блок кодирования монохромной выборки и синтаксические элементы, используемые, чтобы кодировать монохромные выборки. Когда картинка является картинкой, закодированной в цветовых плоскостях, отдельных соответственно компонентам цвета, единица кодирования включает в себя синтаксические элементы, используемые, чтобы кодировать картинку и выборки картинки.[00116] When a picture has sample arrays for respective Y, Cr, and Cb components, a coding unit (CU) includes a luma sample coding block, two corresponding chrominance sample coding blocks, and syntax elements used to encode a luma sample and a chrominance sample. When the picture is a monochrome picture, the coding unit includes a monochrome sample coding block and syntax elements used to encode monochrome samples. When a picture is a picture encoded in color planes separate according to the color components, the coding unit includes the syntax elements used to encode the picture and the picture samples.
[00117] Как описано выше, наибольший блок кодирования и наибольшая единица кодирования концептуально различимы друг от друга, и блок кодирования и единица кодирования концептуально различимы друг от друга. То есть, (наибольшая) единица кодирования относится к структуре данных, включающей в себя (наибольший) блок кодирования, включающий в себя соответствующую выборку и синтаксический элемент, соответствующие (наибольшему) блоку кодирования. Однако, поскольку специалист в данной области техники может понимать, что (наибольшая) единица кодирования или (наибольший) блок кодирования относится к блоку предопределенного размера, включающему в себя предопределенное число выборок, наибольший блок кодирования и наибольшая единица кодирования, или блок кодирования и единица кодирования упоминаются в дальнейшей спецификации без проведения различия, если не описано иначе.[00117] As described above, the largest coding unit and the largest coding unit are conceptually distinct from each other, and the coding unit and coding unit are conceptually distinct from each other. That is, the (largest) coding unit refers to a data structure including a (largest) coding unit including a corresponding sample and a syntax element corresponding to the (largest) coding unit. However, as one skilled in the art can understand that the (largest) coding unit or (largest) coding unit refers to a predetermined size unit including a predetermined number of samples, a largest coding unit, and a largest coding unit, or a coding unit and a coding unit are referred to in the following specification without distinction, unless otherwise stated.
[00118] Изображение может разделяться на наибольшие единицы кодирования (CTU). Размер каждой наибольшей единицы кодирования может определяться на основе информации, полученной из битового потока. Форма каждой наибольшей единицы кодирования может быть квадратной формой одного и того же размера. Однако раскрытие не ограничено этим.[00118] An image may be divided into largest coding units (CTUs). The size of each largest coding unit may be determined based on information obtained from the bitstream. The shape of each largest coding unit may be a square shape of the same size. However, disclosure is not limited to this.
[00119] Например, информация о максимальном размере блока кодирования яркости может быть получена из битового потока. Например, максимальный размер блока кодирования яркости, указанный информацией о максимальном размере блока кодирования яркости, может представлять собой одно из 16×16, 32×32, 64×64, 128×128 и 256×256.[00119] For example, information about the maximum luminance coding block size can be obtained from the bitstream. For example, the maximum luminance coding block size indicated by the maximum luminance coding block size information may be one of 16x16, 32x32, 64x64, 128x128, and 256x256.
[00120] Например, информация о разности размера блока яркости и максимального размера блока кодирования яркости, который можно разделить на 2, может быть получена из битового потока. Информация о разности размера блока яркости может относиться к разности размеров между наибольшей единицей кодирования яркости и наибольшего блока кодирования яркости, который можно разделить на 2. Соответственно, когда информация о максимальном размере блока кодирования яркости, который можно разделить на 2, и информация о разнице размера блока яркости, полученная из битового потока, комбинируются друг с другом, может определяться размер наибольшей единицы кодирования яркости. Размер наибольшей единицы кодирования цветности может определяться с использованием размера наибольшей единицы кодирования яркости. Например, когда отношение Y:Cb:Cr составляет 4:2:0 в соответствии с цветовым форматом, размер блока цветности может составлять половинный размер блока яркости, и размер наибольшей единицы кодирования цветности может составлять половинный размер наибольшей единицы кодирования яркости.[00120] For example, information about the difference between the luminance block size and the maximum luminance coding block size that can be divided by 2 can be obtained from the bitstream. The luminance block size difference information may refer to the size difference between the largest luminance coding unit and the largest luminance coding block that can be divided by 2. Accordingly, when the maximum luminance coding block size information that can be divided by 2 and the size difference information luminance block obtained from the bitstream are combined with each other, the size of the largest luminance coding unit may be determined. The size of the largest chroma coding unit may be determined using the size of the largest luminance coding unit. For example, when the Y:Cb:Cr ratio is 4:2:0 according to the color format, the chrominance block size may be half the size of the luminance block, and the size of the largest chroma coding unit may be half the size of the largest luminance coding unit.
[00121] В соответствии с вариантом осуществления, поскольку информацию о максимальном размере блока кодирования яркости, который является двоично разделяемым, получают из битового потока, максимальный размер блока кодирования яркости, который является двоично разделяемым, может определяться переменным образом. Напротив, максимальный размер блока кодирования яркости, который является троично разделяемым, может быть фиксированным. Например, максимальный размер блока кодирования яркости, который является троично разделяемым в I-картинке, может составлять 32×32, и максимальный размер блока кодирования яркости, который является троично разделяемым в Р-картинке или В-картинке, может составлять 64×64.[00121] According to an embodiment, since information about the maximum size of a luminance coding block that is binary separable is obtained from a bitstream, the maximum size of a luminance coding block that is binary separable can be determined in a variable manner. In contrast, the maximum size of a luminance coding block that is ternary separable may be fixed. For example, the maximum size of a luminance coding block that is ternarily separable in an I-picture may be 32×32, and the maximum size of a luminance coding block that is ternarily separable in a P-picture or a B-picture may be 64×64.
[00122] Также, наибольшая единица кодирования может иерархически разделяться на единицы кодирования на основе информации режима разделенной формы, полученной из битового потока. По меньшей мере одна из информации, указывающей, должно ли выполняться квадро-разделение, информации, указывающей, должно ли выполняться множественное разделение, информации направления разделения и информации типа разделения, может быть получена как информация режима разделенной формы из битового потока.[00122] Also, the largest coding unit may be hierarchically divided into coding units based on the divided form mode information obtained from the bitstream. At least one of information indicating whether quad splitting should be performed, information indicating whether multiple splitting should be performed, splitting direction information, and splitting type information can be obtained as split mode mode information from the bitstream.
[00123] Например, информация, указывающая, должно ли выполняться квадро-разделение, может указывать, должна ли текущая единица кодирования квадро-разделяться (QUAD_SPLIT) или нет.[00123] For example, information indicating whether a quad split should be performed may indicate whether the current coding unit should be quad split (QUAD_SPLIT) or not.
[00124] Когда текущая единица кодирования не должна квадро-разделяться, информация, указывающая, должно ли выполняться множественное разделение, может указывать, не подлежит ли больше текущая единица кодирования разделению (NO_SPLIT) или она должна разделяться двоично/троично.[00124] When the current coding unit is not to be quadruple splitted, information indicating whether multiple splitting is to be performed may indicate whether the current coding unit is no longer to be split (NO_SPLIT) or it is to be binary/ternary splitted.
[00125] Когда текущая единица кодирования двоично разделяется или троично разделяется, информация направления разделения указывает, что текущая единица кодирования должна разделяться в одном из горизонтального направления или вертикального направления.[00125] When the current coding unit is binary split or ternary split, the split direction information indicates that the current coding unit is to be split in one of the horizontal direction or the vertical direction.
[00126] Когда текущая единица кодирования разделяется в горизонтальном направлении или вертикальном направлении, информация типа разделения указывает, что текущая единица кодирования подлежит двоичному разделению или троичному разделению.[00126] When the current coding unit is split in the horizontal direction or the vertical direction, the split type information indicates that the current coding unit is to be binary split or ternary split.
[00127] Режим разделения текущей единицы кодирования может определяться в соответствии с информацией направления разделения и информацией типа разделения. Режим разделения, когда текущая единица кодирования двоично разделяется в горизонтальном направлении, может определяться как горизонтальный двоичный режим разделения (SPLIT_BT_HOR), режим разделения, когда текущая единица кодирования разделяется троично в горизонтальном направлении, может определяться как горизонтальный троичный режим разделения (SPLIT_TT_HOR), режим разделения, когда текущая единица кодирования двоично разделяется в вертикальном направлении, может определяться как вертикальный двоичный режим разделения (SPLIT_BT_VER), и режим разделения, когда текущая единица кодирования разделяется троично в вертикальном направлении, может определяться как вертикальный троичный режим разделения SPLIT_TT_VER.[00127] The split mode of the current coding unit may be determined according to split direction information and split type information. Split mode when the current coding unit is binary split in the horizontal direction may be defined as horizontal binary split mode (SPLIT_BT_HOR), split mode when the current coding unit is ternary split in the horizontal direction, may be defined as horizontal ternary split mode (SPLIT_TT_HOR), split mode , when the current coding unit is binary split in the vertical direction, may be defined as vertical binary split mode (SPLIT_BT_VER), and the split mode, when the current coding unit is ternary split in the vertical direction, can be defined as vertical ternary split mode SPLIT_TT_VER.
[00128] Устройство 100 декодирования изображения может получать, из битового потока, информацию режима разделенной формы из одной строки бинов. Вид битового потока, принятого устройством 100 декодирования изображения, может включать в себя двоичный код фиксированной длины, унарный код, усеченный унарный код, предопределенный двоичный код или тому подобное. Строка бинов представляет собой информацию в двоичном числе. Строка бинов может включать в себя по меньшей мере один бит. Устройство 100 декодирования изображения может получать информацию режима разделенной формы, соответствующую строке бинов, на основе правила разделения. Устройство 100 декодирования изображения может определять, следует ли подвергать единицу кодирования квадро-разделению, следует ли подвергать единицу кодирования не-квадро-разделению, направление разделения и тип разделения, на основе одной строки бинов.[00128] The
[00129] Единица кодирования может быть меньше или равна наибольшей единице кодирования. Например, поскольку наибольшая единица кодирования представляет собой единицу кодирования, имеющую максимальный размер, наибольшая единица кодирования является одной из единиц кодирования. Когда информация режима разделенной формы о наибольшей единице кодирования указывает, что разделение не должно выполняться, единица кодирования, определенная в наибольшей единице кодирования, имеет тот же размер, что и наибольшая единица кодирования. Когда кодовая информация разделенной формы о наибольшей единице кодирования указывает, что разделение должно выполняться, наибольшая единица кодирования может разделяться на единицы кодирования. Также, когда информация режима разделенной формы о единице кодирования указывает, что разделение должно выполняться, единица кодирования может разделяться на меньшие единицы кодирования. Однако разделение изображения не ограничено этим, и может не проводиться различие между наибольшей единицей кодирования и единицей кодирования. Разделение единицы кодирования будет описано подробно со ссылкой на фиг. 3-16.[00129] The coding unit may be less than or equal to the largest coding unit. For example, since the largest coding unit is a coding unit having a maximum size, the largest coding unit is one of the coding units. When the split form mode information of the largest coding unit indicates that splitting should not be performed, the coding unit specified in the largest coding unit has the same size as the largest coding unit. When the split form code information of the largest coding unit indicates that splitting is to be performed, the largest coding unit may be divided into coding units. Also, when the split form mode information of a coding unit indicates that splitting is to be performed, the coding unit may be divided into smaller coding units. However, the division of an image is not limited to this, and a distinction between the largest coding unit and the coding unit may not be made. The division of a coding unit will be described in detail with reference to FIG. 3-16.
[00130] Также, один или несколько блоков предсказания для предсказания могут определяться из единицы кодирования. Блок предсказания может быть равен или меньше, чем единица кодирования. Также, один или несколько блоков преобразования для преобразования могут определяться из единицы кодирования. Блок преобразования может быть равен или меньше, чем единица кодирования.[00130] Also, one or more prediction blocks for prediction may be determined from a coding unit. The prediction block may be equal to or less than the coding unit. Also, one or more transform units for transform may be determined from a coding unit. The transform unit may be equal to or less than the coding unit.
[00131] Формы и размеры блока преобразования и блока предсказания могут не быть связаны друг с другом.[00131] The shapes and sizes of the transform block and the prediction block may not be related to each other.
[00132] В другом варианте осуществления, предсказание может выполняться с использованием единицы кодирования в качестве единицы предсказания. Также, преобразование может выполняться с использованием единицы кодирования в качестве блока преобразования.[00132] In another embodiment, prediction may be performed using the coding unit as the prediction unit. Also, the transformation may be performed using the coding unit as the transformation block.
[00133] Разделение единицы кодирования будет описано подробно со ссылкой на фиг. 3-16. Текущий блок и соседний блок раскрытия могут указывать одно из наибольшей единицы кодирования, единицы кодирования, блока предсказания и блока преобразования. Также, текущий блок текущей единицы кодирования представляет собой блок, который в текущее время декодируется или кодируется, или блок, который в текущее время разделяется. Соседний блок может представлять собой блок, восстановленный перед текущим блоком. Соседний блок может быть пространственно или по времени смежным с текущим блоком. Соседний блок может быть расположен в одном из положений снизу слева, слева, сверху слева, сверху, сверху справа, справа, снизу справа от текущего блока.[00133] The division of the coding unit will be described in detail with reference to FIG. 3-16. The current block and the adjacent expansion block may indicate one of the largest coding unit, coding unit, prediction block, and transform block. Also, the current block of the current coding unit is a block that is currently being decoded or encoded, or a block that is currently being divided. The adjacent block may be a block restored before the current block. A neighboring block may be spatially or temporally adjacent to the current block. The neighboring block can be located in one of the positions bottom left, left, top left, top, top right, right, bottom right of the current block.
[00134] Фиг. 3 иллюстрирует выполняемый устройством 100 декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения текущей единицы кодирования, в соответствии с вариантом осуществления.[00134] FIG. 3 illustrates a process performed by the
[00135] Форма блока может включать в себя 4N×4N, 4N×2N, 2N×4N, 4N×N, N×4N, 32N×N, N×32N, 16N×N, N×16N, 8N×N или N×8N. Здесь, N может быть положительным целым. Информация формы блока представляет собой информацию, указывающую по меньшей мере одно из формы, направления, отношения ширины и высоты или размеров ширины и высоты.[00135] The block shape may include 4Nx4N, 4Nx2N, 2Nx4N, 4NxN, Nx4N, 32NxN, Nx32N, 16NxN, Nx16N, 8NxN or N ×8N. Here, N can be a positive integer. The block shape information is information indicating at least one of a shape, a direction, a width-to-height ratio, or a width-to-height dimension.
[00136] Форма единицы кодирования может включать в себя квадрат и не-квадрат. Когда длины ширины и высоты единицы кодирования равны (т.е., когда формой блока единицы кодирования является 4N×4N), устройство 100 декодирования изображения может определять информацию формы блока единицы кодирования как квадрат. Устройство 100 декодирования изображения может определять форму единицы кодирования как не-квадрат.[00136] The shape of the coding unit may include square and non-square. When the width and height lengths of the coding unit are equal (ie, when the shape of the coding unit block is 4N×4N), the
[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 декодирования изображения может определять размер единицы кодирования, на основе по меньшей мере одного из длины ширины, длины высоты или площади единицы кодирования.[00137] When the width and height lengths of the coding unit are different from each other (i.e., when the shape of the coding unit block is 4N×2N, 2N×4N, 4N×N, N×4N, 32N×N, N×32N, 16N×N, N×16N, 8N×N, or N×8N), the
[00138] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять форму единицы кодирования с использованием информации формы блока и может определять способ разделения единицы кодирования с использованием информации режима разделенной формы. То есть, способ разделения единицы кодирования, указанный информацией режима разделенной формы, может определяться на основе формы блока, указанной информацией формы блока, используемой устройством 100 декодирования изображения.[00138] According to an embodiment, the
[00139] Устройство 100 декодирования изображения может получать информацию режима разделенной формы из битового потока. Однако вариант осуществления не ограничен этим, и устройство 100 декодирования изображения и устройство 150 кодирования изображения могут определять предварительно согласованную информацию режима разделенной формы, на основе информации формы блока. Устройство 100 декодирования изображения может определять предварительно согласованную информацию режима разделенной формы относительно наибольшей единицы кодирования или наименьшей единицы кодирования. Например, устройство 100 декодирования изображения может определять информацию режима разделенной формы относительно наибольшей единицы кодирования, подлежащей квадро-разделению. Также, устройство 100 декодирования изображения может определять информацию режима разделенной формы относительно наименьшей единицы кодирования как "не выполнять разделение". В частности, устройство 100 декодирования изображения может определять размер наибольшей единицы кодирования как 256×256. Устройство 100 декодирования изображения может определять предварительно согласованную информацию режима разделенной формы как подлежащую квадро-разделению. Квадро-разделение представляет собой режим разделенной формы, в котором и ширина, и высота единицы кодирования разделены пополам. Устройство 100 декодирования изображения может получать единицу кодирования размером 128×128 из наибольшей единицы кодирования размером 256×256, на основе информации режима разделенной формы. Также, устройство 100 декодирования изображения может определять размер наименьшей единицы кодирования как 4×4. Устройство 100 декодирования изображения может получать информацию режима разделенной формы, указывающую "не выполнять разделение" относительно наименьшей единицы кодирования.[00139] The
[00140] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать информацию формы блока, указывающую, что текущая единица кодирования имеет квадратную форму. Например, устройство 100 декодирования изображения может определять, следует ли не разделять квадратную единицу кодирования, следует ли вертикально разделить квадратную единицу кодирования, следует ли горизонтально разделить квадратную единицу кодирования или следует ли разделить квадратную единицу кодирования на четыре единицы кодирования, на основе информации режима разделенной формы. Со ссылкой на фиг. 3, когда информация формы блока текущей единицы 300 кодирования указывает квадратную форму, декодер 120 может определять, что единица 310a кодирования имеет тот же самый размер, что и текущая единица 300 кодирования, на основе информации режима разделенной формы, указывающей не выполнять разделение, или может определять единицы 310b, 310c, 310d, 310e или 310f кодирования, разделенные на основе информации режима разделенной формы, указывающей предопределенный способ разделения.[00140] According to an embodiment, the
[00141] Со ссылкой на фиг. 3, в соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять две единицы 310b кодирования, полученные путем разделения текущей единицы 300 кодирования в вертикальном направлении, на основе информации режима разделенной формы, указывающей выполнить разделение в вертикальном направлении. Устройство 100 декодирования изображения может определять две единицы 310c кодирования, полученные путем разделения текущей единицы 300 кодирования в горизонтальном направлении, на основе информации режима разделенной формы, указывающей выполнить разделение в горизонтальном направлении. Устройство 100 декодирования изображения может определять четыре единицы 310d кодирования, полученные путем разделения текущей единицы 300 кодирования в вертикальном и горизонтальном направлениях, на основе информации режима разделенной формы, указывающей выполнить разделение в вертикальном и горизонтальном направлениях. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять три единицы 310e кодирования, полученные путем разделения текущей единицы 300 кодирования в вертикальном направлении, на основе информации режима разделенной формы, указывающей выполнить троичное разделение в вертикальном направлении. Устройство 100 декодирования изображения может определять три единицы 310f кодирования, полученные путем разделения текущей единицы 300 кодирования в горизонтальном направлении, на основе информации режима разделенной формы, указывающей выполнить троичное разделение в горизонтальном направлении. Однако способы разделения квадратной единицы кодирования не ограничены вышеупомянутыми способами и могут включать в себя различные способы, которые могут быть указаны информацией режима разделенной формы. Предопределенные способы разделения для разделения квадратной единицы кодирования будут описаны подробно ниже в отношении различных вариантов осуществления.[00141] With reference to FIG. 3, according to an embodiment, the
[00142] Фиг. 4 иллюстрирует выполняемый устройством 100 декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения неквадратной единицы кодирования, в соответствии с вариантом осуществления.[00142] FIG. 4 illustrates a process performed by the
[00143] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать информацию формы блока, указывающую, что текущая единица кодирования имеет неквадратную форму. Устройство 100 декодирования изображения может определять, следует ли не разделять неквадратную текущую единицу кодирования или следует ли разделить неквадратную текущую единицу кодирования с использованием предопределенного способа разделения, на основе информации режима разделенной формы. Со ссылкой на фиг. 4, когда информация формы блока текущей единицы 400 или 450 кодирования указывает неквадратную форму, устройство 100 декодирования изображения может определять, что единица 410 или 460 кодирования имеет тот же самый размер, что и текущая единица 400 или 450 кодирования, на основе информации режима разделенной формы, указывающей не выполнять разделение, или может определять единицы 420a и 420b, 430a, 430b и 430c, 470a и 470b или 480a, 480b и 480c кодирования, которые разделяются на основе информации режима разделенной формы, указывающей предопределенный способ разделения. Предопределенные способы разделения для разделения неквадратной единицы кодирования будут описаны подробно ниже в отношении различных вариантов осуществления.[00143] According to an embodiment, the
[00144] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять способ разделения единицы кодирования с использованием информации режима разделенной формы, и, в этом случае, информация режима разделенной формы может указывать количество одной или нескольких единиц кодирования, сгенерированных путем разделения единицы кодирования. Со ссылкой на фиг. 4, когда информация режима разделенной формы указывает на то, чтобы разделить текущую единицу 400 или 450 кодирования на две единицы кодирования, устройство 100 декодирования изображения может определять две единицы 420a и 420b или 470a и 470b кодирования, включенные в текущую единицу 400 или 450 кодирования, путем разделения текущей единицы 400 или 450 кодирования на основе информации режима разделенной формы.[00144] According to an embodiment, the
[00145] В соответствии с вариантом осуществления, когда устройство 100 декодирования изображения разделяет неквадратную текущую единицу 400 или 450 кодирования на основе информации режима разделенной формы, устройство 100 декодирования изображения может разделять текущую единицу кодирования, с учетом местоположения длинной стороны неквадратной текущей единицы 400 или 450 кодирования. Например, устройство 100 декодирования изображения может определять множество единиц кодирования путем разделения текущей единицы 400 или 450 кодирования путем разделения длинной стороны текущей единицы 400 или 450 кодирования, с учетом формы текущей единицы 400 или 450 кодирования.[00145] According to an embodiment, when the
[00146] В соответствии с вариантом осуществления, когда информация режима разделенной формы указывает на то, чтобы разделить (троично разделить) единицу кодирования на нечетное число блоков, устройство 100 декодирования изображения может определять нечетное число единиц кодирования, включенных в текущую единицу 400 или 450 кодирования. Например, когда информация режима разделенной формы указывает на то, чтобы разделить текущую единицу 400 или 450 кодирования на три единицы кодирования, устройство 100 декодирования изображения может разделять текущую единицу 400 или 450 кодирования на три единицы 430a, 430b и 430c или 480a, 480b и 480c кодирования.[00146] According to an embodiment, when the split-form mode information indicates to divide (ternary divide) a coding unit into an odd number of blocks, the
[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 в вертикальном направлении.[00147] According to an embodiment, the width to height ratio of the
[00148] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять нечетное число единиц кодирования, включенных в текущую единицу 400 или 450 кодирования, и не все определенные единицы кодирования могут иметь один и тот же размер. Например, предопределенная единица 430b или 480b кодирования из определенного нечетного числа единиц 430a, 430b и 430c или 480a, 480b и 480c кодирования может иметь размер, отличный от размера других единиц 430a и 430c или 480a и 480c кодирования. То есть, единицы кодирования, которые могут определяться путем разделения текущей единицы 400 или 450 кодирования, могут иметь множество размеров, и, в некоторых случаях, все из нечетного числа единиц 430a, 430b и 430c или 480a, 480b и 480c кодирования могут иметь разные размеры.[00148] According to an embodiment, the
[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 кодирования.[00149] According to an embodiment, when the split-form mode information indicates to divide a coding unit into an odd number of blocks, the
[00150] Фиг. 5 иллюстрирует процесс, выполняемый устройством 100 декодирования изображения, разделения единицы кодирования на основе по меньшей мере одного из информации формы блока и информации режима разделенной формы, в соответствии с вариантом осуществления.[00150] FIG. 5 illustrates a process performed by the
[00151] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять разделить или не разделять квадратную первую единицу 500 кодирования на единицы кодирования, на основе по меньшей мере одного из информации формы блока и информации режима разделенной формы. В соответствии с вариантом осуществления, когда информация режима разделенной формы указывает на то, чтобы разделить первую единицу 500 кодирования в горизонтальном направлении, устройство 100 декодирования изображения может определять вторую единицу 510 кодирования путем разделения первой единицы 500 кодирования в горизонтальном направлении. Первая единица кодирования, вторая единица кодирования и третья единица кодирования, используемые в соответствии с вариантом осуществления, являются терминами, используемыми, чтобы понимать отношение до и после разделения единицы кодирования. Например, вторая единица кодирования может определяться путем разделения первой единицы кодирования, и третья единица кодирования может определяться путем разделения второй единицы кодирования. Будет понятно, что структура первой единицы кодирования, второй единицы кодирования и третьей единицы кодирования следует описаниям выше.[00151] According to an embodiment, the
[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 кодирования. То есть, единица кодирования может рекурсивно разделяться на основе информации режима разделенной формы каждой единицы кодирования. Поэтому, квадратная единица кодирования может определяться путем разделения неквадратной единицы кодирования, и неквадратная единица кодирования может определяться путем рекурсивного разделения квадратной единицы кодирования.[00152] According to an embodiment, the
[00153] Со ссылкой на фиг. 5, предопределенная единица кодирования (например, единица кодирования, расположенная в центральном местоположении, или квадратная единица кодирования) из нечетного числа третьих единиц 520b, 520c и 520d кодирования, определенных путем разделения неквадратной второй единицы 510 кодирования, может рекурсивно разделяться. В соответствии с вариантом осуществления, неквадратная третья единица 520b кодирования из нечетного числа третьих единиц 520b, 520c и 520d кодирования может разделяться в горизонтальном направлении на множество четвертых единиц кодирования. Неквадратная четвертая единица 530b или 530d кодирования из множества четвертых единиц 530a, 530b, 530c и 530d кодирования может повторно разделяться на множество единиц кодирования. Например, неквадратная четвертая единица 530b или 530d кодирования может повторно разделяться на нечетное число единиц кодирования. Способ, который может использоваться, чтобы рекурсивно разделять единицу кодирования, будет описан ниже в отношении различных вариантов осуществления.[00153] With reference to FIG. 5, a predetermined coding unit (eg, a coding unit located at a central location or a square coding unit) from an odd number of
[00154] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять каждую из третьих единиц 520a или 520b, 520c и 520d кодирования на единицы кодирования, на основе информации режима разделенной формы. Также, устройство 100 декодирования изображения может определять не разделять вторую единицу 510 кодирования на основе информации режима разделенной формы. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять неквадратную вторую единицу 510 кодирования на нечетное число третьих единиц 520b, 520c и 520d кодирования. Устройство 100 декодирования изображения может налагать предопределенное ограничение на предопределенную третью единицу кодирования из нечетного числа третьих единиц 520b, 520c и 520d кодирования. Например, устройство 100 декодирования изображения может ограничивать третью единицу 520c кодирования в центральном местоположении из нечетного числа третьих единиц 520b, 520c и 520d кодирования, чтобы она больше не разделялась или разделялась установленное число раз.[00154] According to an embodiment, the
[00155] Со ссылкой на фиг. 5, устройство 100 декодирования изображения может ограничивать третью единицу 520c кодирования, которая находится в центральном местоположении из нечетного числа третьих единиц 520b, 520c и 520d кодирования, включенных в неквадратную вторую единицу 510 кодирования, чтобы она больше не разделялась, чтобы она разделялась с использованием предопределенного способа разделения (например, разделялась только на четыре единицы кодирования или разделялась с использованием способа разделения второй единицы 510 кодирования) или чтобы она разделялась только предопределенное число раз (например, разделялась только n раз (где n>0)). Однако ограничения на третью единицу 520c кодирования в центральном местоположении не ограничены вышеупомянутыми примерами, и следует понимать, что ограничения могут включать в себя различные ограничения для декодирования третьей единицы 520c кодирования в центральном местоположении отлично от других третьих единиц 520b и 520d кодирования.[00155] With reference to FIG. 5, the
[00156] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать информацию режима разделенной формы, которая используется, чтобы разделять текущую единицу кодирования, из предопределенного местоположения в текущей единице кодирования.[00156] According to an embodiment, the
[00157] Фиг. 6 иллюстрирует выполняемый устройством 100 декодирования изображения способ определения предопределенной единицы кодирования из нечетного числа единиц кодирования, в соответствии с вариантом осуществления.[00157] FIG. 6 illustrates a method performed by the
[00158] Со ссылкой на фиг. 6, информация режима разделенной формы текущей единицы 600 или 650 кодирования может быть получена из выборки предопределенного местоположения (например, выборки 640 или 690 центрального местоположения) из множества выборок, включенных в текущую единицу 600 или 650 кодирования. Однако предопределенное местоположение в текущей единице 600 кодирования, из которого может быть получен по меньшей мере один фрагмент информации режима разделенной формы, не ограничено центральным местоположением на фиг. 6 и может включать в себя различные местоположения, включенные в текущую единицу 600 кодирования (например, верхнее, нижнее, левое, правое, верхнее левое, нижнее левое, верхнее правое и нижнее правое местоположения). Устройство 100 декодирования изображения может получать информацию режима разделенной формы из предопределенного местоположения и может определять разделить или не разделять текущую единицу кодирования на единицы кодирования с различными формами и различными размерами.[00158] With reference to FIG. 6, the split form mode information of the
[00159] В соответствии с вариантом осуществления, когда текущая единица кодирования разделяется на предопределенное число единиц кодирования, устройство 100 декодирования изображения может выбирать одну из единиц кодирования. Различные способы могут использоваться, чтобы выбирать одну из множества единиц кодирования, как будет описано ниже в отношении различных вариантов осуществления.[00159] According to an embodiment, when the current coding unit is divided into a predetermined number of coding units, the
[00160] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять текущую единицу кодирования на множество единиц кодирования и может определять единицу кодирования в предопределенном местоположении.[00160] According to an embodiment, the
[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 кодирования.[00161] According to an embodiment, the
[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 кодирования в картинке или с использованием информации о ширинах или высотах единиц кодирования, которые соответствуют значениям разности между координатами.[00162] According to an embodiment, information indicating the locations of the top
[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 кодирования. Также, способ определения единицы кодирования в предопределенном местоположении с использованием координат выборки, включенной в единицу кодирования, как информации, указывающей местоположение выборки, не должен пониматься как ограниченный вышеупомянутым способом и может включать в себя различные арифметические способы, способные использовать координаты выборки.[00163] According to an embodiment, information indicating the location of the upper
[00164] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять текущую единицу 600 кодирования на множество единиц 620a, 620b и 620c кодирования и может выбирать одну из единиц 620a, 620b и 620c кодирования на основе предопределенного критерия. Например, устройство 100 декодирования изображения может выбирать единицу 620b кодирования, которая имеет размер, отличный от размера других из единиц 620a, 620b и 620c кодирования.[00164] According to an embodiment, the
[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 декодирования изображения вышеупомянутый способ определения единицы кодирования, имеющей размер, отличный от размера других единиц кодирования, соответствует только примеру определения единицы кодирования в предопределенном местоположении с использованием размеров единиц кодирования, которые определяются на основе координат выборок, и, таким образом, могут использоваться различные способы определения единицы кодирования в предопределенном местоположении путем сравнения размеров единиц кодирования, которые определяются на основе координат предопределенных выборок.[00165] According to an embodiment, the
[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 кодирования.[00166] The
[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 декодирования изображения вышеупомянутый способ определения единицы кодирования, имеющей размер, отличный от размера других единиц кодирования, просто соответствует примеру определения единицы кодирования в предопределенном местоположении с использованием размеров единиц кодирования, которые определяются на основе координат выборок, и, таким образом, могут использоваться различные способы определения единицы кодирования в предопределенном местоположении путем сравнения размеров единиц кодирования, которые определяются на основе координат предопределенных выборок.[00167] According to an embodiment, the
[00168] Однако местоположения выборок, учитываемых для определения местоположений единиц кодирования, не ограничены вышеупомянутыми верхними левыми местоположениями, и может использоваться информация о произвольных местоположениях выборок, включенных в единицы кодирования.[00168] However, the locations of the samples taken into account to determine the locations of the coding units are not limited to the aforementioned upper left locations, and information about arbitrary locations of the samples included in the coding units can be used.
[00169] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может выбирать единицу кодирования в предопределенном местоположении из нечетного числа единиц кодирования, определенных путем разделения текущей единицы кодирования, с учетом формы текущей единицы кодирования. Например, когда текущая единица кодирования имеет неквадратную форму, ширина которой длиннее, чем ее высота, устройство 100 декодирования изображения может определять единицу кодирования в предопределенном местоположении в горизонтальном направлении. То есть, устройство 100 декодирования изображения может определять одну из единиц кодирования в разных местоположениях в горизонтальном направлении и может налагать ограничение на единицу кодирования. Когда текущая единица кодирования имеет неквадратную форму, высота которой длиннее, чем ее ширина, устройство 100 декодирования изображения может определять единицу кодирования в предопределенном местоположении в вертикальном направлении. То есть, устройство 100 декодирования изображения может определять одну из единиц кодирования в разных местоположениях в вертикальном направлении и может налагать ограничение на единицу кодирования.[00169] According to an embodiment, the
[00170] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать информацию, указывающую соответственные местоположения четного числа единиц кодирования, чтобы определять единицу кодирования в предопределенном местоположении из четного числа единиц кодирования. Устройство 100 декодирования изображения может определять четное число единиц кодирования путем разделения (двоичного разделения) текущей единицы кодирования и может определять единицу кодирования в предопределенном местоположении с использованием информации о местоположениях четного числа единиц кодирования. Операция, относящаяся к этому, может соответствовать операции определения единицы кодирования в предопределенном местоположении (например, центральном местоположении) из нечетного числа единиц кодирования, что описано подробно выше со ссылкой на фиг. 6, и таким образом подробные описания этого здесь опущены.[00170] According to an embodiment, the
[00171] В соответствии с вариантом осуществления, когда неквадратная текущая единица кодирования разделяется на множество единиц кодирования, предопределенная информация о единице кодирования в предопределенном местоположении может использоваться в процессе разделения, чтобы определять единицу кодирования в предопределенном местоположении из множества единиц кодирования. Например, устройство 100 декодирования изображения может использовать по меньшей мере одно из информации формы блока и информации режима разделенной формы, которая хранится в выборке, включенной в среднюю единицу кодирования, в процессе разделения, чтобы определять единицу кодирования в центральном местоположении из множества единиц кодирования, определенных путем разделения текущей единицы кодирования.[00171] According to an embodiment, when a non-square current coding unit is divided into a plurality of coding units, predetermined information about a coding unit at a predetermined location may be used in a partitioning process to determine a coding unit at a predetermined location from among the plurality of coding units. For example, the
[00172] Со ссылкой на фиг. 6, устройство 100 декодирования изображения может разделять текущую единицу 600 кодирования на множество единиц 620a, 620b и 620c кодирования на основе информации режима разделенной формы и может определять единицу 620b кодирования в центральном местоположении из множества единиц 620a, 620b и 620c кодирования. Более того, устройство 100 декодирования изображения может определять единицу 620b кодирования в центральном местоположении, с учетом местоположения, из которого получают информацию режима разделенной формы. То есть, информация режима разделенной формы текущей единицы 600 кодирования может быть получена из выборки 640 в центральном местоположении текущей единицы 600 кодирования, и, когда текущая единица 600 кодирования разделяется на множество единиц 620a, 620b и 620c кодирования на основе информации режима разделенной формы, единица 620b кодирования, включающая в себя выборку 640, может определяться как единица кодирования в центральном местоположении. Однако информация, используемая, чтобы определять единицу кодирования в центральном местоположении, не ограничена информацией режима разделенной формы, и различные типы информации могут использоваться, чтобы определять единицу кодирования в центральном местоположении.[00172] With reference to FIG. 6, the
[00173] В соответствии с вариантом осуществления, предопределенная информация для идентификации единицы кодирования в предопределенном местоположении может быть получена из предопределенной выборки, включенной в единицу кодирования, подлежащую определению. Со ссылкой на фиг. 6, устройство 100 декодирования изображения может использовать информацию режима разделенной формы, которую получают из выборки в предопределенном местоположении в текущей единице 600 кодирования (например, выборки в центральном местоположении текущей единицы 600 кодирования), чтобы определять единицу кодирования в предопределенном местоположении из множества единиц 620a, 620b и 620c кодирования, определенных путем разделения текущей единицы 600 кодирования (например, единицы кодирования в центральном местоположении из множества разделенных единиц кодирования). То есть, устройство 100 декодирования изображения может определять выборку в предопределенном местоположении с учетом формы блока текущей единицы 600 кодирования, может определять единицу 620b кодирования, включающую в себя выборку, из которой получают предопределенную информацию (например, информацию режима разделенной формы), из множества единиц 620a, 620b и 620c кодирования, определенных путем разделения текущей единицы 600 кодирования, и может налагать предопределенное ограничение на единицу 620b кодирования. Со ссылкой на фиг. 6, в соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять выборку 640 в центральном местоположении текущей единицы 600 кодирования как выборку, из которой получают предопределенную информацию, и может налагать предопределенное ограничение на единицу 620b кодирования, включающую в себя выборку 640, в операции декодирования. Однако местоположение выборки, из которой получают предопределенную информацию, не ограничено вышеупомянутым местоположением и может включать в себя произвольные местоположения выборок, включенных в единицу 620b кодирования, подлежащую определению для ограничения.[00173] According to an embodiment, predefined information for identifying a coding unit at a predefined location can be obtained from a predefined sample included in the coding unit to be determined. With reference to FIG. 6, the
[00174] В соответствии с вариантом осуществления, местоположение выборки, из которой получают предопределенную информацию, может определяться на основе формы текущей единицы 600 кодирования. В соответствии с вариантом осуществления, информация формы блока может указывать, имеет ли текущая единица кодирования квадратную или неквадратную форму, и местоположение выборки, из которой получают предопределенную информацию, может определяться на основе формы. Например, устройство 100 декодирования изображения может определять выборку, расположенную на границе для разделения по меньшей мере одной из ширины и высоты текущей единицы кодирования пополам, как выборку, из которой получают предопределенную информацию, с использованием по меньшей мере одного из информации о ширине текущей единицы кодирования и информации о высоте текущей единицы кодирования. В качестве другого примера, когда информация формы блока текущей единицы кодирования указывает неквадратную форму, устройство 100 декодирования изображения может определять одну из выборок, смежных с границей для разделения длинной стороны текущей единицы кодирования пополам, как выборку, из которой получают предопределенную информацию.[00174] According to an embodiment, the location of the sample from which the predetermined information is obtained may be determined based on the shape of the
[00175] В соответствии с вариантом осуществления, когда текущая единица кодирования разделяется на множество единиц кодирования, устройство 100 декодирования изображения может использовать информацию режима разделенной формы, чтобы определять единицу кодирования в предопределенном местоположении из множества единиц кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать информацию режима разделенной формы из выборки в предопределенном местоположении в единице кодирования и может разделять множество единиц кодирования, которые сгенерированы путем разделения текущей единицы кодирования, с использованием информации режима разделенной формы, которую получают из выборки предопределенного местоположения в каждой из множества единиц кодирования. То есть, единица кодирования может рекурсивно разделяться на основе информации режима разделенной формы, которую получают из выборки в предопределенном местоположении в каждой единице кодирования. Операция рекурсивного разделения единицы кодирования описана выше со ссылкой на фиг. 5, и, таким образом, ее подробные описания здесь опущены.[00175] According to an embodiment, when the current coding unit is divided into a plurality of coding units, the
[00176] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять одну или несколько единиц кодирования путем разделения текущей единицы кодирования и может определять порядок декодирования одной или нескольких единиц кодирования, на основе предопределенного блока (например, текущей единицы кодирования).[00176] According to an embodiment, the
[00177] Фиг. 7 иллюстрирует порядок обработки множества единиц кодирования, когда устройство 100 декодирования изображения определяет множество единиц кодирования путем разделения текущей единицы кодирования, в соответствии с вариантом осуществления.[00177] FIG. 7 illustrates a processing order of a plurality of coding units when the
[00178] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторые единицы 710a и 710b кодирования путем разделения первой единицы 700 кодирования в вертикальном направлении, может определять вторые единицы 730a и 730b кодирования путем разделения первой единицы 700 кодирования в горизонтальном направлении или может определять вторые единицы 750a, 750b, 750c и 750d кодирования путем разделения первой единицы 700 кодирования в вертикальном и горизонтальном направлениях, на основе информации режима разделенной формы.[00178] According to an embodiment, the
[00179] Со ссылкой на фиг. 7, устройство 100 декодирования изображения может определять, что следует обработать вторые единицы 710a и 710b кодирования в порядке 710c горизонтального направления, причем вторые единицы 710a и 710b кодирования определяются путем разделения первой единицы 700 кодирования в вертикальном направлении. Устройство 100 декодирования изображения может определять, что следует обработать вторые единицы 730a и 730b кодирования в порядке 730c вертикального направления, причем вторые единицы 730a и 730b кодирования определяются путем разделения первой единицы 700 кодирования в горизонтальном направлении. Устройство 100 декодирования изображения может определять вторые единицы 750a, 750b, 750c и 750d кодирования, которые определяются путем разделения первой единицы 700 кодирования в вертикальном и горизонтальном направлениях, в соответствии с предопределенным порядком (например, порядок растрового сканирования или порядок Z-сканирования 750e), посредством чего обрабатываются единицы кодирования в строке, и затем обрабатываются единицы кодирования в следующей строке.[00179] With reference to FIG. 7, the
[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 кодирования.[00180] According to an embodiment, the
[00181] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третьи единицы 720a и 720b кодирования путем разделения левой второй единицы 710a кодирования в горизонтальном направлении и может не разделять правую вторую единицу 710b кодирования.[00181] According to an embodiment, the
[00182] В соответствии с вариантом осуществления, порядок обработки единиц кодирования может определяться на основе операции разделения единицы кодирования. Другими словами, порядок обработки разделенных единиц кодирования может определяться на основе порядка обработки единиц кодирования непосредственно до разделения. Устройство 100 декодирования изображения может определять порядок обработки третьих единиц 720a и 720b кодирования, определенных путем разделения левой второй единицы 710a кодирования, независимо от правой второй единицы 710b кодирования. Поскольку третьи единицы 720a и 720b кодирования определяются путем разделения левой второй единицы 710a кодирования в горизонтальном направлении, третьи единицы 720a и 720b кодирования могут обрабатываться в порядке 720c вертикального направления. Поскольку левая и правая вторые единицы 710a и 710b кодирования обрабатываются в порядке 710c горизонтального направления, правая вторая единица 710b кодирования может обрабатываться после того, как третьи единицы 720a и 720b кодирования, включенные в левую вторую единицу 710a кодирования, обработаны в порядке 720c вертикального направления. Следует понимать, что операция определения порядка обработки единиц кодирования на основе единицы кодирования перед разделением не ограничена вышеупомянутым примером, и могут использоваться различные способы, чтобы независимо обрабатывать единицы кодирования, которые разделяются и определяются с различными формами, в предопределенном порядке.[00182] According to an embodiment, the processing order of coding units may be determined based on a coding unit split operation. In other words, the processing order of the split coding units may be determined based on the processing order of the coding units immediately prior to splitting. The
[00183] Фиг. 8 иллюстрирует выполняемый устройством 100 декодирования изображения процесс определения, что текущая единица кодирования подлежит разделению на нечетное число единиц кодирования, когда единицы кодирования не могут быть обработаны в предопределенном порядке, в соответствии с вариантом осуществления.[00183] FIG. 8 illustrates a process performed by the
[00184] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять, что текущая единица кодирования подлежит разделению на нечетное число единиц кодирования, на основе полученной информации режима разделенной формы. Со ссылкой на фиг. 8, квадратная первая единица 800 кодирования может разделяться на неквадратные вторые единицы 810a и 810b кодирования, и вторые единицы 810a и 810b кодирования могут независимо разделяться на третьи единицы 820a и 820b, и 820c, 820d и 820e кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять множество третьих единиц 820a и 820b кодирования путем разделения левой второй единицы 810a кодирования в горизонтальном направлении и может разделять правую вторую единицу 810b кодирования на нечетное число третьих единиц 820c, 820d и 820e кодирования.[00184] According to an embodiment, the
[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 кодирования на нечетное число единиц кодирования, условию для обработки в предопределенном порядке.[00185] According to an embodiment, the
[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 декодирования изображения может налагать предопределенное ограничение на единицу кодирования в предопределенном местоположении из разделенных единиц кодирования. Ограничение или предопределенное местоположение описано выше в отношении различных вариантов осуществления, и таким образом, их подробные описания здесь опущены.[00186] According to an embodiment, the
[00187] Фиг. 9 иллюстрирует выполняемый устройством 100 декодирования изображения процесс определения по меньшей мере одной единицы кодирования путем разделения первой единицы 900 кодирования, в соответствии с вариантом осуществления.[00187] FIG. 9 illustrates a process performed by the
[00188] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять первую единицу 900 кодирования, на основе информации режима разделенной формы, которую получают посредством приемника (не показано). Квадратная первая единица 900 кодирования может разделяться на четыре квадратные единицы кодирования или может разделяться на множество неквадратных единиц кодирования. Например, со ссылкой на фиг. 9, когда первая единица 900 кодирования является квадратом и информация режима разделенной формы указывает на то, чтобы разделить первую единицу 900 кодирования на неквадратные единицы кодирования, устройство 100 декодирования изображения может разделять первую единицу 900 кодирования на множество неквадратных единиц кодирования. Подробно, когда информация режима разделенной формы указывает на то, чтобы определять нечетное число единиц кодирования путем разделения первой единицы 900 кодирования в горизонтальном направлении или вертикальном направлении, устройство 100 декодирования изображения может разделять квадратную первую единицу 900 кодирования на нечетное число единиц кодирования, например, вторые единицы 910a, 910b и 910c кодирования, определенные путем разделения квадратной первой единицы 900 кодирования в вертикальном направлении, или вторые единицы 920a, 920b и 920c кодирования, определенные путем разделения квадратной первой единицы 900 кодирования в горизонтальном направлении.[00188] According to an embodiment, the
[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 декодирования изображения может налагать предопределенное ограничение на единицу кодирования в предопределенном местоположении из разделенных единиц кодирования. Ограничение или предопределенное местоположение описано выше в отношении различных вариантов осуществления, и таким образом его подробные описания здесь опущены.[00189] According to an embodiment, the
[00190] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять единицы кодирования с различными формами путем разделения первой единицы кодирования.[00190] According to an embodiment, the
[00191] Со ссылкой на фиг. 9, устройство 100 декодирования изображения может разделять квадратную первую единицу 900 кодирования или неквадратную первую единицу 930 или 950 кодирования на единицы кодирования с различными формами.[00191] With reference to FIG. 9, the
[00192] Фиг. 10 иллюстрирует, что форма, на которую можно разделить вторую единицу кодирования, ограничена, когда вторая единица кодирования, имеющая неквадратную форму, которая определяется, когда устройство 100 декодирования изображения разделяет первую единицу 1000 кодирования, удовлетворяет предопределенному условию, в соответствии с вариантом осуществления.[00192] FIG. 10 illustrates that the shape into which the second coding unit can be divided is limited when the second coding unit having a non-square shape, which is determined when the
[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 кодирования, на основе информации режима разделенной формы, и может быть неэффективным с точки зрения декодирования изображения.[00193] According to an embodiment, the
[00194] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третьи единицы 1022a и 1022b или 1024a и 1024b кодирования путем разделения неквадратной второй единицы 1020a или 1020b кодирования, которая определяется путем разделения первой единицы 1000 кодирования в горизонтальном направлении, в вертикальном направлении. Однако, когда вторая единица кодирования (например, верхняя вторая единица 1020a кодирования) разделяется в вертикальном направлении, по вышеупомянутой причине, устройство 100 декодирования изображения может ограничивать другую вторую единицу кодирования (например, нижнюю вторую единицу 1020b кодирования), чтобы она не разделялась в вертикальном направлении, в котором разделяется верхняя вторая единица 1020a кодирования.[00194] According to an embodiment, the
[00195] Фиг. 11 иллюстрирует выполняемый устройством 100 декодирования изображения процесс разделения квадратной единицы кодирования, когда информация режима разделенной формы указывает, что квадратная единица кодирования не подлежит разделению на четыре квадратных единицы кодирования, в соответствии с вариантом осуществления.[00195] FIG. 11 illustrates the process of dividing a square coding unit by the
[00196] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторые единицы 1110a и 1110b или 1120a и 1120b и т.д. кодирования путем разделения первой единицы 1100 кодирования, на основе информации режима разделенной формы. Информация режима разделенной формы может включать в себя информацию о различных способах разделения единицы кодирования, но информация о различных способах разделения может не включать в себя информацию для разделения единицы кодирования на четыре квадратные единицы кодирования. На основе информации режима разделенной формы, устройство 100 декодирования изображения не разделяет квадратную первую единицу 1100 кодирования на четыре квадратные вторые единицы 1130a, 1130b, 1130c и 1130d кодирования. Устройство 100 декодирования изображения может определять неквадратные вторые единицы 1110a и 1110b или 1120a и 1120b и т.д. кодирования, на основе информации режима разделенной формы.[00196] According to an embodiment, the
[00197] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может независимо разделять неквадратные вторые единицы 1110a и 1110b или 1120a и 1120b и т.д. кодирования. Каждая из вторых единиц 1110a и 1110b или 1120a и 1120b и т.д. кодирования может рекурсивно разделяться в предопределенном порядке, и этот способ разделения может соответствовать способу разделения первой единицы 1100 кодирования, на основе информации режима разделенной формы.[00197] According to an embodiment, the
[00198] Например, устройство 100 декодирования изображения может определять квадратные третьи единицы 1112a и 1112b кодирования путем разделения левой второй единицы 1110a кодирования в горизонтальном направлении и может определять квадратные третьи единицы 1114a и 1114b кодирования путем разделения правой второй единицы 1110b кодирования в горизонтальном направлении. Более того, устройство 100 декодирования изображения может определять квадратные третьи единицы 1116a, 1116b, 1116c и 1116d кодирования путем разделения как левой второй единицы 1110a кодирования, так и правой второй единицы 1110b кодирования в горизонтальном направлении. В этом случае, могут определяться единицы кодирования, имеющие ту же самую форму, что и четыре квадратные вторые единицы 1130a, 1130b, 1130c и 1130d кодирования, разделенные из первой единицы 1100 кодирования.[00198] For example, the
[00199] В качестве другого примера, устройство 100 декодирования изображения может определять квадратные третьи единицы 1122a и 1122b кодирования путем разделения верхней второй единицы 1120a кодирования в вертикальном направлении и может определять квадратные третьи единицы 1124a и 1124b кодирования путем разделения нижней второй единицы 1120b кодирования в вертикальном направлении. Более того, устройство 100 декодирования изображения может определять квадратные третьи единицы 1126a, 1126b, 1126c и 1126d кодирования путем разделения как верхней второй единицы 1120a кодирования, так и нижней второй единицы 1120b кодирования в вертикальном направлении. В этом случае, могут определяться единицы кодирования, имеющие ту же самую форму, что и четыре квадратные вторые единицы 1130a, 1130b, 1130c и 1130d кодирования, разделенные из первой единицы 1100 кодирования.[00199] As another example, the
[00200] Фиг. 12 иллюстрирует, что порядок обработки между множеством единиц кодирования может изменяться в зависимости от процесса разделения единицы кодирования, в соответствии с вариантом осуществления.[00200] FIG. 12 illustrates that the processing order between multiple coding units may change depending on the coding unit splitting process, according to an embodiment.
[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, и, таким образом, ее подробные описания здесь опущены.[00201] According to an embodiment, the
[00202] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может обрабатывать единицы кодирования в предопределенном порядке. Операция обработки единиц кодирования в предопределенном порядке описана выше со ссылкой на фиг. 7, и, таким образом, ее подробные описания здесь опущены. Со ссылкой на фиг. 12, устройство 100 декодирования изображения может определять четыре квадратных третьих единицы 1216a, 1216b, 1216c, и 1216d или 1226a, 1226b, 1226c, и 1226d кодирования путем разделения квадратной первой единицы 1200 кодирования. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять порядки обработки третьих единиц 1216a, 1216b, 1216c и 1216d или 1226a, 1226b, 1226c и 1226d кодирования на основе разделенной формы, на которую разделяется первая единица 1200 кодирования.[00202] According to an embodiment, the
[00203] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третьи единицы 1216a, 1216b, 1216c и 1216d кодирования путем разделения вторых единиц 1210a и 1210b кодирования, сгенерированных путем разделения первой единицы 1200 кодирования в вертикальном направлении, в горизонтальном направлении, и может обрабатывать третьи единицы 1216a, 1216b, 1216c и 1216d кодирования в порядке 1217 обработки для обработки сначала третьих единиц 1216a и 1216c кодирования, которые включены в левую вторую единицу 1210a кодирования, в вертикальном направлении и затем обработки третьих единиц 1216b и 1216d кодирования, которые включены в правую вторую единицу 1210b кодирования, в вертикальном направлении.[00203] According to an embodiment, the
[00204] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять третьи единицы 1226a, 1226b, 1226c и 1226d кодирования путем разделения вторых единиц 1220a и 1220b кодирования, сгенерированных путем разделения первой единицы 1200 кодирования в горизонтальном направлении, в вертикальном направлении, и может обрабатывать третьи единицы 1226a, 1226b, 1226c и 1226d кодирования в порядке 1227 обработки для обработки сначала третьих единиц 1226a и 1226b кодирования, которые включены в верхнюю вторую единицу 1220a кодирования, в горизонтальном направлении и затем обработки третьих единиц 1226c и 1226d кодирования, которые включены в нижнюю вторую единицу 1220b кодирования, в горизонтальном направлении.[00204] According to an embodiment, the
[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 декодирования изображения может обрабатывать множество единиц кодирования в разных порядках, даже когда в итоге определяется, что единицы кодирования имеют одну и ту же форму.[00205] With reference to FIG. 12, square
[00206] Фиг. 13 иллюстрирует процесс определения глубины единицы кодирования по мере того, как форма и размер единицы кодирования изменяются, когда единица кодирования рекурсивно разделяется, так что определяются множество единиц кодирования, в соответствии с вариантом осуществления.[00206] FIG. 13 illustrates a process for determining the depth of a coding unit as the shape and size of a coding unit change when a coding unit is recursively divided so that a plurality of coding units are determined, according to an embodiment.
[00207] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять глубину единицы кодирования, на основе предопределенного критерия. Например, предопределенный критерий может представлять собой длину длинной стороны единицы кодирования. Когда длина длинной стороны единицы кодирования до разделения в 2n раз (n>0) больше длины длинной стороны разделенной текущей единицы кодирования, устройство 100 декодирования изображения может определять, что глубина текущей единицы кодирования увеличивается от глубины единицы кодирования до разделения на n. В дальнейших описаниях, единица кодирования, имеющая увеличенную глубину, выражается как единица кодирования более глубокой глубины.[00207] According to an embodiment, the
[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.[00208] With reference to FIG. 13, according to an embodiment, the
[00209] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторую единицу 1312 или 1322 кодирования и третью единицу 1314 или 1324 кодирования более глубоких глубин путем разделения неквадратной первой единицы 1310 или 1320 кодирования на основе информации формы блока, указывающей неквадратную форму (например, информация формы блока может быть выражена как '1: NS_VER', указывающая неквадратную форму, высота которой длиннее, чем ее ширина, или как '2: NS_HOR', указывающая неквадратную форму, ширина которой длиннее, чем ее высота).[00209] According to an embodiment, the
[00210] Устройство 100 декодирования изображения может определять вторую единицу 1302, 1312 или 1322 кодирования путем разделения по меньшей мере одного из ширины и высоты первой единицы 1310 кодирования, имеющей размер N×2N. То есть, устройство 100 декодирования изображения может определять вторую единицу 1302 кодирования, имеющую размер N×N, или вторую единицу 1322 кодирования, имеющую размер N×N/2, путем разделения первой единицы 1310 кодирования в горизонтальном направлении или может определять вторую единицу 1312 кодирования, имеющую размер N/2×N, путем разделения первой единицы 1310 кодирования в горизонтальном и вертикальном направлениях.[00210] The
[00211] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторую единицу 1302, 1312 или 1322 кодирования путем разделения по меньшей мере одного из ширины и высоты первой единицы 1320 кодирования, имеющей размер 2N×N. То есть, устройство 100 декодирования изображения может определять вторую единицу 1302 кодирования, имеющую размер N×N, или вторую единицу 1312 кодирования, имеющую размер N/2×N, путем разделения первой единицы 1320 кодирования в вертикальном направлении или может определять вторую единицу 1322 кодирования, имеющую размер N×N/2, путем разделения первой единицы 1320 кодирования в горизонтальном и вертикальном направлениях.[00211] According to an embodiment, the
[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 кодирования в вертикальном и горизонтальном направлениях.[00212] According to an embodiment, the
[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 кодирования в вертикальном и горизонтальном направлениях.[00213] According to an embodiment, the
[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 кодирования в вертикальном и горизонтальном направлениях.[00214] According to an embodiment, the
[00215] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять квадратную единицу 1300, 1302 или 1304 кодирования в горизонтальном или вертикальном направлении. Например, устройство 100 декодирования изображения может определять первую единицу 1310 кодирования, имеющую размер N×2N, путем разделения первой единицы 1300 кодирования, имеющей размер 2N×2N, в вертикальном направлении или может определять первую единицу 1320 кодирования, имеющую размер 2N×N, путем разделения первой единицы 1300 кодирования в горизонтальном направлении. В соответствии с вариантом осуществления, когда глубина определяется на основе длины наиболее длинной стороны единицы кодирования, глубина единицы кодирования, определенной путем разделения первой единицы 1300 кодирования, имеющей размер 2N×2N в горизонтальном или вертикальном направлении, может быть той же самой, что и глубина первой единицы 1300 кодирования.[00215] According to an embodiment, the
[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.[00216] According to an embodiment, the width and height of the
[00217] Фиг. 14 иллюстрирует глубины, которые доступны для определения на основе форм и размеров единиц кодирования, и индексы части (PID), которые служат для различения единиц кодирования, в соответствии с вариантом осуществления.[00217] FIG. 14 illustrates depths that are available to be determined based on shapes and sizes of coding units, and part indices (PIDs) that serve to distinguish coding units, according to an embodiment.
[00218] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять вторые единицы кодирования с различными формами путем разделения квадратной первой единицы 1400 кодирования. Со ссылкой на фиг. 14, устройство 100 декодирования изображения может определять вторые единицы 1402a и 1402b, 1404a и 1404b, и 1406a, 1406b, 1406c и 1406d кодирования путем разделения первой единицы 1400 кодирования по меньшей мере в одном из вертикального и горизонтального направлений на основе информации режима разделенной формы. То есть, устройство 100 декодирования изображения может определять вторые единицы 1402a и 1402b, 1404a и 1404b, и 1406a, 1406b, 1406c и 1406d кодирования, на основе информации режима разделенной формы первой единицы 1400 кодирования.[00218] According to an embodiment, the
[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.[00219] According to an embodiment, the depths of the
[00220] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять множество вторых единиц 1412a и 1412b, и 1414a, 1414b и 1414c кодирования путем разделения первой единицы 1410 кодирования, высота которой длиннее, чем ее ширина, в горизонтальном направлении на основе информации режима разделенной формы. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять множество вторых единиц 1422a и 1422b, и 1424a, 1424b и 1424c кодирования путем разделения первой единицы 1420 кодирования, ширина которой длиннее, чем ее высота, в вертикальном направлении на основе информации режима разделенной формы.[00220] According to an embodiment, the
[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.[00221] According to an embodiment, the depth of the
[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 кодирования.[00222] Moreover, the
[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 для идентификации разделенных единиц кодирования.[00223] According to an embodiment, the
[00224] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять, следует ли использовать конкретный способ разделения, на основе значений PID для идентификации множества единиц кодирования, определенных путем разделения текущей единицы кодирования. Со ссылкой на фиг. 14, устройство 100 декодирования изображения может определять четное число единиц 1412a и 1412b кодирования или нечетное число единиц 1414a, 1414b и 1414c кодирования путем разделения первой единицы 1410 кодирования, имеющей прямоугольную форму, высота которой длиннее, чем ее ширина. Устройство 100 декодирования изображения может использовать PID, указывающие соответственные единицы кодирования, чтобы идентифицировать соответственные единицы кодирования. В соответствии с вариантом осуществления, PID может быть получен из выборки в предопределенном местоположении каждой единицы кодирования (например, верхней левой выборки).[00224] According to an embodiment, the
[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 и различные местоположения и размеры единиц кодирования.[00225] According to an embodiment, the
[00226] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать предопределенную единицу данных, где единица кодирования начинает рекурсивно разделяться.[00226] According to an embodiment, the
[00227] Фиг. 15 иллюстрирует, что множество единиц кодирования определяются на основе множества предопределенных единиц данных, включенных в картинку, в соответствии с вариантом осуществления.[00227] FIG. 15 illustrates that a plurality of coding units are determined based on a plurality of predefined data units included in a picture, according to an embodiment.
[00228] В соответствии с вариантом осуществления, предопределенная единица данных может определяться как единица данных, где единица кодирования начинает рекурсивно разделяться с использованием информации режима разделенной формы. То есть, предопределенная единица данных может соответствовать единице кодирования самой верхней глубины, которая используется, чтобы определять множество единиц кодирования, разделенных из текущей картинки. В дальнейших описаниях, для удобства объяснения, предопределенная единица данных называется опорной единицей данных.[00228] According to an embodiment, a predetermined data unit may be defined as a data unit where the coding unit starts to be recursively divided using split form mode information. That is, the predetermined data unit may correspond to the uppermost depth coding unit, which is used to determine the plurality of coding units separated from the current picture. In the following descriptions, for convenience of explanation, the predefined data unit is referred to as the reference data unit.
[00229] В соответствии с вариантом осуществления, опорная единица данных может иметь предопределенный размер и предопределенную форму. В соответствии с вариантом осуществления, опорная единица данных может включать в себя выборки M×N. Здесь, M и N могут быть равны друг другу и могут быть целыми, выраженными как степени 2. То есть, опорная единица данных может иметь квадратную или неквадратную форму и затем может разделяться на целое число единиц кодирования.[00229] In accordance with an embodiment, a reference data unit may have a predefined size and a predefined shape. According to an embodiment, a reference data unit may include M×N samples. Here, M and N may be equal to each other and may be integers expressed as powers of 2. That is, the reference data unit may have a square or non-square shape and may then be divided into an integer number of coding units.
[00230] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять текущую картинку на множество опорных единиц данных. В соответствии с вариантом осуществления, устройство 100 декодирования изображения может разделять множество опорных единиц данных, которые разделяются из текущей картинки, с использованием информации режима разделенной формы каждой опорной единицы данных. Операция разделения опорной единицы данных может соответствовать операции разделения с использованием структуры квадродерева.[00230] According to an embodiment, the
[00231] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может ранее определять минимальный размер, разрешенный для опорных единиц данных, включенных в текущую картинку. Соответственно, устройство 100 декодирования изображения может определять различные опорные единицы данных, имеющие размеры равные или больше, чем минимальный размер, и может определять одну или несколько единиц кодирования с использованием информации режима разделенной формы со ссылкой на определенную опорную единицу данных.[00231] According to an embodiment, the
[00232] Со ссылкой на фиг. 15, устройство 100 декодирования изображения может использовать квадратную опорную единицу 1500 кодирования или неквадратную опорную единицу 1502 кодирования. В соответствии с вариантом осуществления, форма и размер опорных единиц кодирования могут определяться на основе различных единиц данных, которые могут включать в себя одну или несколько опорных единиц кодирования (например, последовательности, картинки, вырезки, сегменты вырезки, мозаичные элементы, группы мозаичных элементов, наибольшие единицы кодирования или тому подобное).[00232] With reference to FIG. 15, the
[00233] В соответствии с вариантом осуществления, приемник (не показан) устройства 100 декодирования изображения может получать, из битового потока, по меньшей мере одно из информации формы опорной единицы кодирования и информации размера опорной единицы кодирования касательно каждой из различных единиц данных. Операция разделения квадратной опорной единицы 1500 кодирования на одну или несколько единиц кодирования была описана выше в отношении операции разделения текущей единицы 300 кодирования согласно фиг. 3, и операция разделения неквадратной опорной единицы 1502 кодирования на одну или несколько единиц кодирования была описана выше в отношении операции разделения текущей единицы 400 или 450 кодирования согласно фиг. 4. Таким образом, их подробные описания здесь опущены.[00233] According to an embodiment, a receiver (not shown) of the
[00234] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать PID для идентификации размера и формы опорных единиц кодирования, чтобы определять размер и форму опорных единиц кодирования в соответствии с некоторыми единицами данных, ранее определенными на основе предопределенного условия. То есть, приемник (не показан) может получать, из битового потока, только PID для идентификации размера и формы опорных единиц кодирования касательно каждой вырезки, сегмента вырезки, мозаичного элемента, группы мозаичных элементов или наибольшей единицы кодирования, которая представляет собой единицу данных, удовлетворяющую предопределенному условию (например, единицу данных, имеющую размер равный или меньше, чем вырезка), из различных единиц данных (например, последовательностей, картинок, вырезок, сегментов вырезки, мозаичных элементов, групп мозаичных элементов, наибольших единиц кодирования или тому подобного). Устройство 100 декодирования изображения может определять размер и форму опорных единиц данных касательно каждой единицы данных, которая удовлетворяет предопределенному условию, с использованием PID. Когда информацию формы опорной единицы кодирования и информацию размера опорной единицы кодирования получают и используют из битового потока в соответствии с каждой единицей данных, имеющей относительно малый размер, эффективность использования битового потока не может быть высокой, и поэтому только PID можно получать и использовать вместо непосредственного получения информации формы опорной единицы кодирования и информации размера опорной единицы кодирования. В этом случае, по меньшей мере одно из размера и формы опорных единиц кодирования, соответствующих PID для идентификации размера и формы опорных единиц кодирования, могло быть определено ранее. То есть, устройство 100 декодирования изображения может определять по меньшей мере одно из размера и формы опорных единиц кодирования, включенных в единицу данных, служащую в качестве единицы для получения PID, путем выбора ранее определенного по меньшей мере одного из размера и формы опорных единиц кодирования на основе PID.[00234] According to an embodiment, the
[00235] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может использовать одну или несколько опорных единиц кодирования, включенных в наибольшую единицу кодирования. То есть, наибольшая единица кодирования, разделенная из изображения, может включать в себя одну или несколько опорных единиц кодирования, и единицы кодирования могут определяться путем рекурсивного разделения каждой опорной единицы кодирования. В соответствии с вариантом осуществления, по меньшей мере одно из ширины и высоты наибольшей единицы кодирования может быть в целое число раз больше по меньшей мере одного из ширины и высоты опорных единиц кодирования. В соответствии с вариантом осуществления, размер опорных единиц кодирования может быть получен путем разделения наибольшей единицы кодирования n раз на основе структуры квадродерева. То есть, устройство 100 декодирования изображения может определять опорные единицы кодирования путем разделения наибольшей единицы кодирования n раз на основе структуры квадродерева и может разделять опорную единицу кодирования на основе по меньшей мере одной из информации формы блока и информации режима разделенной формы в соответствии с различными вариантами осуществления.[00235] According to an embodiment, the
[00236] Фиг. 16 иллюстрирует блок обработки, служащий в качестве критерия для определения порядка определения опорных единиц кодирования, включенных в картинку 1600, в соответствии с вариантом осуществления.[00236] FIG. 16 illustrates a processing unit serving as a criterion for determining the determination order of coding reference units included in
[00237] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять один или несколько блоков обработки, разделенных из картинки. Блок обработки представляет собой единицу данных, включающую в себя одну или несколько опорных единиц кодирования, разделенных из картинки, и одна или несколько опорных единиц кодирования, включенных в блок обработки, могут определяться в соответствии с конкретным порядком. То есть, порядок определения одной или нескольких опорных единиц кодирования, определенный в каждом из блоков обработки, может соответствовать одному из различных типов порядков для определения опорных единиц кодирования и может меняться в зависимости от блока обработки. Порядок определения опорных единиц кодирования, который определяется относительно каждого блока обработки, может быть одним из различных порядков, например, порядок растрового сканирования, Z-сканирование, N-сканирование, диагональное сверху-вправо сканирование, горизонтальное сканирование и вертикальное сканирование, но не ограничен вышеупомянутыми порядками сканирования.[00237] According to an embodiment, the
[00238] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать информацию размера блока обработки и может определять размер одного или нескольких блоков обработки, включенных в картинку. Устройство 100 декодирования изображения может получать информацию размера блока обработки из битового потока и может определять размер одного или нескольких блоков обработки, включенных в картинку. Размер блоков обработки может представлять собой предопределенный размер единиц данных, который указывается информацией размера блока обработки.[00238] According to an embodiment, the
[00239] В соответствии с вариантом осуществления, приемник (не показан) устройства 100 декодирования изображения может получать информацию размера блока обработки из битового потока в соответствии с каждой конкретной единицей данных. Например, информация размера блока обработки может быть получена из битового потока в единице данных, такой как изображение, последовательность, картинка, вырезка, сегмент вырезки, мозаичный элемент, группа мозаичных элементов или тому подобное. То есть, приемник (не показан) может получать информацию размера блока обработки из битового потока в соответствии с каждой из различных единиц данных, и устройство 100 декодирования изображения может определять размер одного или нескольких блоков обработки, которые разделены из картинки, с использованием полученной информации размера блока обработки. Размер блоков обработки может быть в целое число раз больше, чем размер опорных единиц кодирования.[00239] According to an embodiment, a receiver (not shown) of the
[00240] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять размер блоков 1602 и 1612 обработки, включенных в картинку 1600. Например, устройство 100 декодирования изображения может определять размер блоков обработки на основе информации размера блока обработки, полученной из битового потока. Со ссылкой на Фиг. 16, в соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять ширину блоков 1602 и 1612 обработки в четыре раза больше, чем ширина опорных единиц кодирования, и может определять высоту блоков 1602 и 1612 обработки в четыре раза больше, чем высота опорных единиц кодирования. Устройство 100 декодирования изображения может определять порядок определения одной или нескольких опорных единиц кодирования в одном или нескольких блоках обработки.[00240] According to an embodiment, the
[00241] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять блоки 1602 и 1612 обработки, которые включены в картинку 1600, на основе размера блоков обработки и может определять порядок определения одной или нескольких опорных единиц кодирования в блоках 1602 и 1612 обработки. В соответствии с вариантом осуществления, определение опорных единиц кодирования может включать в себя определение размера опорных единиц кодирования.[00241] According to an embodiment,
[00242] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать, из битового потока, информацию порядка определения одной или нескольких опорных единиц кодирования, включенных в один или несколько блоков обработки, и может определять порядок определения относительно одной или нескольких опорных единиц кодирования на основе полученной информации порядка определения. Информация порядка определения может определяться как порядок или направление для определения опорных единиц кодирования в блоке обработки. То есть, порядок определения опорных единиц кодирования может независимо определяться относительно каждого блока обработки.[00242] According to an embodiment, the
[00243] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать, из битового потока, информацию порядка определения опорных единиц кодирования в соответствии с каждой конкретной единицей данных. Например, приемник (не показан) может получать информацию порядка определения опорных единиц кодирования из битового потока в соответствии с каждой единицей данных, такой как изображение, последовательность, картинка, вырезка, сегмент вырезки, мозаичный элемент, группа мозаичных элементов, блок обработки или тому подобное. Поскольку информация порядка определения опорных единиц кодирования указывает порядок для определения опорных единиц кодирования в блоке обработки, информация порядка определения может быть получена относительно каждой конкретной единицы данных, включая целое число блоков обработки.[00243] According to an embodiment, the
[00244] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может определять одну или несколько опорных единиц кодирования на основе определенного порядка определения.[00244] According to an embodiment, the
[00245] В соответствии с вариантом осуществления, приемник (не показан) может получать информацию порядка определения опорных единиц кодирования из битового потока как информацию, относящуюся к блокам 1602 и 1612 обработки, и устройство 100 декодирования изображения может определять порядок определения одной или нескольких опорных единиц кодирования, включенных в блоки 1602 и 1612 обработки, и может определять одну или несколько опорных единиц кодирования, которые включены в картинку 1600, на основе порядка определения. Со ссылкой на фиг. 16, устройство 100 декодирования изображения может определять порядки 1604 и 1614 определения одной или нескольких опорных единиц кодирования в блоках 1602 и 1612 обработки, соответственно. Например, когда информацию порядка определения опорных единиц кодирования получают относительно каждого блока обработки, разные типы информации порядка определения опорных единиц кодирования могут быть получены для блоков 1602 и 1612 обработки. Когда порядок 1604 определения опорных единиц кодирования в блоке 1602 обработки представляет собой порядок растрового сканирования, опорные единицы кодирования, включенные в блок 1602 обработки, могут определяться в соответствии с порядком растрового сканирования. Напротив, когда порядок 1614 определения опорных единиц кодирования в другом блоке 1612 обработки представляет собой порядок обратного растрового сканирования, опорные единицы кодирования, включенные в блок 1612 обработки, могут определяться в соответствии с порядком обратного растрового сканирования.[00245] According to an embodiment, a receiver (not shown) may obtain coding reference unit determination order information from the bitstream as information related to
[00246] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может декодировать определенные одну или несколько опорных единиц кодирования. Устройство 100 декодирования изображения может декодировать изображение, на основе опорных единиц кодирования, определенных, как описано выше. Способ декодирования опорных единиц кодирования может включать в себя различные способы декодирования изображения.[00246] According to an embodiment, the
[00247] В соответствии с вариантом осуществления, устройство 100 декодирования изображения может получать, из битового потока, информацию формы блока, указывающую форму текущей единицы кодирования, или информацию режима разделенной формы, указывающую способ разделения текущей единицы кодирования, и может использовать полученную информацию. Информация режима разделенной формы может быть включена в битовый поток, относящийся к различным единицам данных. Например, устройство 100 декодирования изображения может использовать информацию режима разделенной формы, включенную в набор параметров последовательности, набор параметров картинки, набор параметров видео, заголовок вырезки, заголовок сегмента вырезки, заголовок мозаичного элемента или заголовок группы мозаичных элементов. Более того, устройство 100 декодирования изображения может получать, из битового потока, синтаксический элемент, соответствующий информации формы блока или информации режима разделенной формы, в соответствии с каждой наибольшей единицей кодирования, каждой опорной единицей кодирования или каждым блоком обработки и может использовать полученный синтаксический элемент.[00247] According to an embodiment, the
[00248] Далее, будет подробно описан способ определения правила разделения, в соответствии с вариантом осуществления раскрытия.[00248] Next, a method for determining a split rule according to an embodiment of the disclosure will be described in detail.
[00249] Устройство 100 декодирования изображения может определять правило разделения изображения. Правило разделения может быть предварительно определено между устройством 100 декодирования изображения и устройством 150 кодирования изображения. Устройство 100 декодирования изображения может определять правило разделения изображения, на основе информации, полученной из битового потока. Устройство 100 декодирования изображения может определять правило разделения на основе информации, полученной из по меньшей мере одного из набора параметров последовательности, набора параметров картинки, набора параметров видео, заголовка вырезки, заголовка сегмента вырезки, заголовка мозаичного элемента и заголовка группы мозаичных элементов. Устройство 100 декодирования изображения может определять правило разделения по-разному в соответствии с кадрами, вырезками, временными уровнями, наибольшими единицами кодирования или единицами кодирования.[00249] The
[00250] Устройство 100 декодирования изображения может определять правило разделения на основе формы блока единицы кодирования. Форма блока может включать в себя размер, форму, отношение ширины и высоты и направление единицы кодирования. Устройство 150 кодирования изображения и устройство 100 декодирования изображения могут предварительно определять, что следует определить правило разделения на основе формы блока единицы кодирования. Однако раскрытие не ограничено этим. Устройство 100 декодирования изображения может определять правило разделения на основе информации, полученной из битового потока, принятого от устройства 150 кодирования изображения.[00250] The
[00251] Форма единицы кодирования может включать в себя квадрат и не-квадрат. Когда длины ширины и высоты единицы кодирования равны, устройство 100 декодирования изображения может определять форму единицы кодирования как квадрат. Также, когда длины ширины и высоты единицы кодирования не равны, устройство 100 декодирования изображения может определять форму единицы кодирования как не-квадрат.[00251] The shape of the coding unit may include square and non-square. When the width and height lengths of the coding unit are equal, the
[00252] Размер единицы кодирования может включать в себя различные размеры, такие как 4×4, 8×4, 4×8, 8×8, 16×4, 16×8 и до 256×256. Размер единицы кодирования может классифицироваться на основе длины длинной стороны единицы кодирования, длины короткой стороны или площади. Устройство 100 декодирования изображения может применять одно и то же правило разделения к единицам кодирования, классифицированным как одна и та же группа. Например, устройство 100 декодирования изображения может классифицировать единицы кодирования, имеющие одни и те же длины длинных сторон, как имеющие один и тот же размер. Также, устройство 100 декодирования изображения может применять одно и то же правило разделения к единицам кодирования, имеющим одни и те же длины длинных сторон.[00252] The coding unit size may include various sizes such as 4x4, 8x4, 4x8, 8x8, 16x4, 16x8, and up to 256x256. The size of a coding unit may be classified based on the length of the long side of the coding unit, the length of the short side, or the area. The
[00253] Отношение ширины и высоты единицы кодирования может включать в себя 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1 или тому подобное. Также, направление единицы кодирования может включать в себя горизонтальное направление и вертикальное направление. Горизонтальное направление может указывать случай, в котором длина ширины единицы кодирования длиннее, чем длина ее высоты. Вертикальное направление может указывать случай, в котором длина ширины единицы кодирования короче, чем длина ее высоты.[00253] The width-to-height ratio of the coding unit may include 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1, or the like. Also, the direction of the coding unit may include a horizontal direction and a vertical direction. The horizontal direction may indicate the case in which the length of the width of the coding unit is longer than the length of its height. The vertical direction may indicate the case in which the length of the width of the coding unit is shorter than the length of its height.
[00254] Устройство 100 декодирования изображения может адаптивно определять правило разделения на основе размера единицы кодирования. Устройство 100 декодирования изображения может по-разному определять разрешенный режим разделенной формы на основе размера единицы кодирования. Например, устройство 100 декодирования изображения может определять, разрешено ли разделение, на основе размера единицы кодирования. Устройство 100 декодирования изображения может определять направление разделения в соответствии с размером единицы кодирования. Устройство 100 декодирования изображения может определять разрешенный тип разделения, на основе размера единицы кодирования.[00254] The
[00255] Правило разделения, определенное на основе размера единицы кодирования, может представлять собой правило разделения, предварительно определенное между устройством 150 кодирования изображения и устройством 100 декодирования изображения. Также, устройство 100 декодирования изображения может определять правило разделения, на основе информации, полученной из битового потока.[00255] The division rule determined based on the size of the coding unit may be a division rule predetermined between the
[00256] Устройство 100 декодирования изображения может адаптивно определять правило разделения, на основе местоположения единицы кодирования. Устройство 100 декодирования изображения может адаптивно определять правило разделения, на основе местоположения единицы кодирования в изображении.[00256] The
[00257] Также, устройство 100 декодирования изображения может определять правило разделения так, что единицы кодирования, сгенерированные по разным путям разделения, не имеют одну и ту же форму блока. Однако раскрытие не ограничено этим, и единицы кодирования, сгенерированные по разным путям разделения, могут иметь одну и ту же форму блока. Единицы кодирования, сгенерированные по разным путям разделения, могут иметь разные порядки обработки декодирования. Поскольку порядки обработки декодирования описаны выше со ссылкой на фиг. 12, их подробности здесь опущены.[00257] Also, the
[00258] Далее, со ссылкой на фиг. 17-29, в соответствии с различными вариантами осуществления, обеспеченными в настоящей спецификации, процесс выполнения интра-предсказания, и кодирование и декодирование определенного режима интра-предсказания каждого блока будут описаны подробно. Процесс интра-предсказания в соответствии с различными вариантами осуществления может выполняться декодером 120 устройства 100 декодирования изображения согласно фиг. 1A и кодером 155 устройства 150 кодирования изображения согласно фиг. 2A. В частности, процесс интра-предсказания в соответствии с различными вариантами осуществления может выполняться интра-предсказателем 6400 декодера 6000 изображения согласно фиг. 1D и интра-предсказателем 7200 кодера 7000 изображения согласно фиг. 2D.[00258] Next, with reference to FIG. 17-29, according to various embodiments provided in the present specification, the process of performing intra prediction, and the encoding and decoding of the specific intra prediction mode of each block will be described in detail. The intra-prediction process according to various embodiments may be performed by the
[00259] Фиг. 17 иллюстрирует режимы интра-предсказания в соответствии с вариантом осуществления, и фиг. 18 иллюстрирует режимы интра-предсказания в соответствии с другим вариантом осуществления.[00259] FIG. 17 illustrates intra prediction modes according to an embodiment, and FIG. 18 illustrates intra prediction modes according to another embodiment.
[00260] Режимы интра-предсказания в соответствии с различными вариантами осуществления могут включать в себя не-угловой режим интра-предсказания, включающий в себя планарный режим и режим DC, которые не имеют направленности, и угловой режим интра-предсказания, имеющий направленность. Не-угловой режим может включать в себя плоский режим и билинейный режим, а также планарный режим и режим DC.[00260] The intra-prediction modes according to various embodiments may include a non-angular intra-prediction mode including a planar mode and a DC mode that are non-directional, and an angular intra-prediction mode that is directional. The non-angular mode may include planar mode and bilinear mode, as well as planar mode and DC mode.
[00261] Со ссылкой на фиг. 17 и 18, угловой режим интра-предсказания включает в себя режимы интра-предсказания, указывающие конкретные направления в диапазоне между -135 градусов и -180 градусов и диапазоне между 45 градусов и 180 градусов относительно направлений 45 градусов и -135 градусов.[00261] With reference to FIG. 17 and 18, the intra-prediction angular mode includes intra-prediction modes indicating specific directions in a range between -135 degrees and -180 degrees and a range between 45 degrees and 180 degrees with respect to the 45 degrees and -135 degrees directions.
[00262] В описаниях ниже, углы направлений предсказания в диапазоне между 0 градусов и 180 градусов, которые указывают направления в квадрантах I и II, могут быть представлены как +, и углы направлений предсказания в диапазоне между -180 градусов и 0 градусов, которые указывают направления в квадрантах III и IV, могут быть представлены как -. Предопределенный угол -a (где "a" является положительным действительным числом), указывающий направление в квадрантах III и IV, соответствует углу (360-a) градусов. Например, направление -135 градусов соответствует направлению 225 градусов, и направление -180 градусов соответствует направлению 180 градусов.[00262] In the descriptions below, prediction direction angles in the range between 0 degrees and 180 degrees, which indicate directions in quadrants I and II, can be represented as +, and prediction direction angles in the range between -180 degrees and 0 degrees, which indicate directions in quadrants III and IV can be represented as -. The predefined angle -a (where "a" is a positive real number) indicating the direction in quadrants III and IV corresponds to the angle (360-a) degrees. For example, a direction of -135 degrees corresponds to a direction of 225 degrees, and a direction of -180 degrees corresponds to a direction of 180 degrees.
[00263] Направления предсказания, представленные как стрелки, показанные на фиг. 17 и 18, указывают направления смежных пикселов, подлежащих использованию в интра-предсказании, относительно текущего пиксела текущего блока, который подлежит интра-предсказанию. Числа, отмеченные на фиг. 17 и 18, являются примерами индексов режимов интра-предсказания в соответствии с направлениями интра-предсказания. Далее, индекс режима интра-предсказания может упоминаться как predModeIntra. PredModeIntra планарного режима и predModeIntra режима DC, которые являются не-угловыми режимами интра-предсказания, могут быть установлены как 0 и 1, соответственно.[00263] Prediction directions, represented as arrows shown in FIG. 17 and 18 indicate directions of adjacent pixels to be used in intra-prediction with respect to the current pixel of the current block to be intra-prediction. The numbers marked in Fig. 17 and 18 are examples of intra-prediction mode indices according to intra-prediction directions. Further, the intra prediction mode index may be referred to as predModeIntra. Planar mode PredModeIntra and DC mode predModeIntra, which are non-angular intra prediction modes, can be set to 0 and 1, respectively.
[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 градусов.[00264] With reference to FIG. 17, the intra prediction angle modes according to the embodiment may include 33 intra prediction modes obtained by dividing the interval between 45 degrees and -135 degrees by 33. The 33 intra prediction angle modes may sequentially have predModeIntra values from 2 to 34 in a clockwise direction from the direction of -135 degrees. For example, in FIG. 17, an intra prediction mode for which predModeIntra is 2 may indicate an intra prediction mode indicating a diagonal direction in the -135 degree direction, an intra prediction mode for which predModeIntra is 10 may indicate an intra prediction mode indicating a horizontal direction direction -180 (180) degrees, an intra-prediction mode for which predModeIntra is 26 may indicate an intra-prediction mode indicating a vertical direction in the direction of 90 degrees, and an intra-prediction mode for which predModeIntra is 34 may indicate a mode intra-prediction indicating a diagonal direction in the direction of 45 degrees.
[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 градусов.[00265] With reference to FIG. 18, the intra-prediction angular modes according to another embodiment may include 65 intra-prediction modes obtained by dividing the interval between -135 degrees and -180 degrees and the interval between 45 degrees and 180 degrees with respect to the
[00266] Однако, значения predModeIntra режимов интра-предсказания не ограничены значениями, показанными на фиг. 17 и 18, и могут изменяться. Например, число угловых режимов интра-предсказания в направлении по часовой стрелке от направления 45 градусов может не ограничиваться числами 33 или 65 и может изменяться, значения predModeIntra угловых режимов интра-предсказания могут последовательно устанавливаться в направлении против часовой стрелки от направления 45 градусов, и установленные значения predModeIntra могут также изменяться. Угловые режимы интра-предсказания не ограничены этим и могут включать в себя предопределенное число режимов интра-предсказания, указывающих конкретные направления в диапазоне между произвольным значением A градусов (где "A" является действительным числом) и B градусов (где "B" является действительным числом).[00266] However, the predModeIntra values of the intra prediction modes are not limited to the values shown in FIG. 17 and 18 and are subject to change. For example, the number of intra prediction angle modes in the clockwise direction from the 45 degree direction may not be limited to 33 or 65 and may be changed, the values of predModeIntra intra prediction angle modes may be successively set in the counterclockwise direction from the 45 degree direction, and set predModeIntra values can also change. The intra-prediction angular modes are not limited to this, and may include a predefined number of intra-prediction modes indicating specific directions in the range between an arbitrary value of A degrees (where "A" is a real number) and B degrees (where "B" is a real number ).
[00267] Режимы интра-предсказания, описанные со ссылкой на фиг. 17 и 18, установлены с учетом квадратной формы. Однако, как описано выше со ссылкой на фиг. 3-5, в соответствии с вариантом осуществления, единицы данных, включающие в себя единицу кодирования, единицу предсказания и единицы преобразования, могут каждая иметь квадратную форму или неквадратную форму. Также, в соответствии с форматом 4:2:2, даже когда блок компонента яркости имеет квадратную форму, блок компонента цветности, соответствующий ему, может иметь неквадратную форму. Также, в соответствии с вариантом осуществления, единица данных, подлежащая использованию в интра-предсказании, может не иметь фиксированный размер как единица данных макроблока в соответствии со связанной областью техники, но может иметь различные размеры.[00267] The intra prediction modes described with reference to FIG. 17 and 18, are installed taking into account the square shape. However, as described above with reference to FIG. 3-5, according to an embodiment, the data units including a coding unit, a prediction unit, and a transformation unit may each have a square shape or a non-square shape. Also, according to the 4:2:2 format, even when a luma component block is square, a chrominance component block corresponding to it may be non-square. Also, according to an embodiment, the data unit to be used in intra-prediction may not have a fixed size as a macroblock data unit according to the related art, but may have different sizes.
[00268] В соответствии с вариантом осуществления, кандидат режима интра-предсказания, подлежащий использованию в интра-предсказании текущего блока, может адаптивно изменяться, с учетом по меньшей мере одного из размера и формы текущего блока.[00268] In accordance with an embodiment, an intra prediction mode candidate to be used in the intra prediction of the current block may adaptively change based on at least one of the size and shape of the current block.
[00269] Подробно, в соответствии с вариантом осуществления, направления и число режимов интра-предсказания, применимых к текущему блоку, могут адаптивно устанавливаться, пропорционально размеру текущего блока, подлежащего интра-предсказанию. Число режимов интра-предсказания, которые применимы к текущему блоку, может увеличиваться пропорционально размеру текущего блока. Также, в соответствии с вариантом осуществления, блоки могут группироваться в соответствии с их размерами, и число режимов интра-предсказания, применимых к группе больших блоков, может увеличиваться. Например, когда размер текущего блока равен или меньше, чем 8×8, может применяться минимальное число a (где a является положительным целым числом) режимов интра-предсказания, число b (где a является положительным целым числом, b>a) режимов интра-предсказания может применяться к блокам 16×16 и 32×32, и число c (где a является положительным целым числом, c>b) режимов интра-предсказания может применяться к блокам, равным или больше, чем 64×64.[00269] In detail, according to an embodiment, the directions and the number of intra-prediction modes applicable to the current block may be adaptively set proportional to the size of the current block to be intra-prediction. The number of intra-prediction modes that are applicable to the current block may increase in proportion to the size of the current block. Also, according to an embodiment, blocks can be grouped according to their sizes, and the number of intra prediction modes applicable to a group of large blocks can be increased. For example, when the current block size is equal to or less than 8×8, the minimum number a (where a is a positive integer) of intra-prediction modes, the number b (where a is a positive integer, b>a) of intra-prediction modes can be applied. prediction may be applied to blocks of 16×16 and 32×32, and the number c (where a is a positive integer, c>b) of intra-prediction modes may be applied to blocks equal to or greater than 64×64.
[00270] С другой стороны, в соответствии с другим вариантом осуществления, направления и число режимов интра-предсказания, применимых к текущему блоку, могут адаптивно устанавливаться, обратно пропорционально размеру текущего блока, подлежащего интра-предсказанию. То есть, число режимов интра-предсказания, применимых к текущему блоку, может уменьшаться пропорционально размеру текущего блока. Также, в соответствии с вариантом осуществления, блоки могут группироваться в соответствии с их размерами, и число режимов интра-предсказания, применимых к группе больших блоков, может быть уменьшено. Например, когда размер текущего блока равен или меньше, чем 8×8, максимальное число c режимов интра-предсказания может применяться, число b режимов интра-предсказания может применяться к блокам 16×16 и 32×32, и число a режимов интра-предсказания может применяться к блокам, равным или большим, чем 64×64.[00270] On the other hand, according to another embodiment, the directions and the number of intra-prediction modes applicable to the current block can be adaptively set inversely proportional to the size of the current block to be intra-prediction. That is, the number of intra-prediction modes applicable to the current block may decrease in proportion to the size of the current block. Also, according to an embodiment, blocks can be grouped according to their sizes, and the number of intra prediction modes applicable to a group of large blocks can be reduced. For example, when the current block size is equal to or less than 8×8, the maximum number c of intra prediction modes may be applied, the number b of intra prediction modes may be applied to blocks of 16×16 and 32×32, and the number a of intra prediction modes can be applied to blocks equal to or greater than 64x64.
[00271] В соответствии с другим вариантом осуществления, число режимов интра-предсказания, подлежащих применению к блокам всех размеров, может быть равным, независимо от размеров блоков.[00271] In accordance with another embodiment, the number of intra-prediction modes to be applied to blocks of all sizes may be equal, regardless of block sizes.
[00272] Также, в соответствии с другим вариантом осуществления, направления и число режимов интра-предсказания, подлежащих применению к текущему блоку, могут адаптивно устанавливаться, на основе формы текущего блока или высоты и ширины текущего блока. Подробно, когда текущий блок имеет квадратную форму, как описано выше со ссылкой на фиг. 17 и 18, могут использоваться предопределенные режимы интра-предсказания, и когда текущий блок имеет неквадратную форму, режимы интра-предсказания могут быть установлены, чтобы точно указывать одно из направления высоты и направления ширины.[00272] Also, according to another embodiment, the directions and number of intra prediction modes to be applied to the current block may be adaptively set based on the shape of the current block or the height and width of the current block. In detail, when the current block has a square shape as described above with reference to FIG. 17 and 18, predefined intra-prediction modes may be used, and when the current block is non-square, the intra-prediction modes may be set to accurately indicate one of the height direction and the width direction.
[00273] Фиг. 19 представляет собой диаграмму для описания режимов интра-предсказания, подлежащих применению к неквадратной форме, в соответствии с различными вариантами осуществления.[00273] FIG. 19 is a diagram for describing intra prediction modes to be applied to a non-square shape, according to various embodiments.
[00274] Со ссылкой на фиг. 19, режимы интра-предсказания, подлежащие применению к блоку 1900 неквадратной формы, включают в себя режимы интра-предсказания вертикальной части, сконфигурированные путем деления углов между направлением, указанным первым режимом 1910 интра-предсказания, и направлением, указанным вторым режимом 1920 интра-предсказания, и режимы интра-предсказания горизонтальной части, сконфигурированные путем деления углов между направлением, указанным первым режимом 1910 интра-предсказания, и направлением, указанным третьим режимом 1930 интра-предсказания, на основе первого режима 1910 интра-предсказания в направлении, указывающем верхнюю левую вершину из центра C блока, второго режима 1920 интра-предсказания в направлении, указывающем верхнюю правую вершину из центра C блока, и третьего режима 1930 интра-предсказания в направлении, указывающем нижнюю левую вершину из центра C блока. Число режимов интра-предсказания горизонтальной части и число режимов интра-предсказания вертикальной части могут быть установлены на основе ширины и высоты блока 1900. Для блока, имеющего неквадратную форму, число режимов интра-предсказания, указывающих сторону большей длины, может быть установлено большим, чем число режимов интра-предсказания, указывающих сторону меньшей длины. Например, как проиллюстрировано на фиг. 19, для блока 1900 неквадратной формы, ширина которого больше, чем его высота, число режимов интра-предсказания вертикальной части может быть установлено большим, чем число режимов интра-предсказания горизонтальной части.[00274] With reference to FIG. 19, the intra prediction modes to be applied to the
[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. Конкретное число режимов интра-предсказания может меняться.[00275] When determining the number of vertical part intra-prediction modes, the
[00276] С другой стороны, для блока, имеющего неквадратную форму, число режимов интра-предсказания, указывающих сторону большей длины, может быть установлено меньшим, чем число режимов интра-предсказания, указывающих сторону меньшей длины. Например, способом, противоположным описаниям выше, на фиг. 19, число режимов интра-предсказания горизонтальной части может быть установлено большим, чем число режимов интра-предсказания вертикальной части.[00276] On the other hand, for a block having a non-square shape, the number of intra-prediction modes indicating the longer side can be set to be less than the number of intra-prediction modes indicating the shorter side. For example, in a manner opposite to the descriptions above, in FIG. 19, the number of horizontal part intra-prediction modes can be set larger than the number of vertical part intra-prediction modes.
[00277] В соответствии с различными вариантами осуществления, горизонтальный режим интра-предсказания в направлении 180 градусов и вертикальный режим интра-предсказания в направлении 90 градусов обычно определяются как режимы интра-предсказания, так что режимы интра-предсказания могут устанавливаться, чтобы компактно указывать горизонтальное направление в направлении 180 градусов или вертикальное направление в направлении 90 градусов.[00277] According to various embodiments, the horizontal intra-prediction mode in the 180-degree direction and the vertical intra-prediction mode in the 90-degree direction are generally defined as intra-prediction modes, so that the intra-prediction modes can be set to compactly indicate horizontal direction in the direction of 180 degrees or vertical direction in the direction of 90 degrees.
[00278] Далее, будет описан процесс кодирования и декодирования информации о режиме интра-предсказания в соответствии с различными вариантами осуществления.[00278] Next, a process for encoding and decoding intra prediction mode information according to various embodiments will be described.
[00279] Кодер 155 устройства 150 кодирования изображения согласно фиг. 2A и интра-предсказатель 7200 кодера 7000 изображения согласно фиг. 2D определяют режим интра-предсказания, в котором затраты RD являются оптимальными, путем применения режимов интра-предсказания в соответствии с различными вариантами осуществления. Когда режим предсказания текущего блока наконец определяется как режим интра-предсказания, множество фрагментов информации о том, какой режим предсказания из режима пропуска, режима интер-предсказания и режима интра-предсказания используется, чтобы предсказывать текущий блок, и информация режима интра-предсказания интра-предсказанного текущего блока включаются в битовый поток и затем передаются на устройство 100 декодирования изображения. Декодер 120 устройства 100 декодирования изображения согласно фиг. 1A и интра-предсказатель 6400 декодера 6000 изображения согласно фиг. 1D могут определять режим интра-предсказания текущего блока с использованием информации о режиме интра-предсказания текущего блока, информация включена в битовый поток.[00279] The
[00280] Как описано выше, могут использоваться все из 35 или 67 режимов интра-предсказания, включенных в два не-угловых режима для режима DC и планарного режима, и 33 или 65 угловых режимов предсказания. По мере увеличения числа режимов интра-предсказания, количество информации для указания режима интра-предсказания текущего блока может увеличиваться. В общем, когда изображение обрабатывается путем разделения на блоки, текущий блок и его смежный блок имеют высокую вероятность аналогичных характеристик изображения. Поэтому существует высокая вероятность, что режим интра-предсказания интра-предсказанного текущего блока равен или аналогичен режиму интра-предсказания смежного блока. В соответствии с различными вариантами осуществления, на основе того факта, что смежные блоки имеют высокую вероятность аналогичных характеристик между ними, список кандидатов режима интра-предсказания, включающий в себя режимы интра-предсказания кандидата, может быть получен с использованием информации режима предсказания смежного блока текущего блока, причем режимы интра-предсказания кандидата имеют высокую вероятность быть режимом интра-предсказания текущего блока. Далее, список кандидатов режима интра-предсказания, полученный с использованием информации режима предсказания смежного блока, может упоминаться как список наиболее вероятных режимов (MPM).[00280] As described above, all of the 35 or 67 intra-prediction modes included in the two non-angular modes for DC mode and planar mode, and 33 or 65 angular prediction modes can be used. As the number of intra prediction modes increases, the amount of information for indicating the intra prediction mode of the current block may increase. In general, when an image is processed by block division, the current block and its adjacent block have a high probability of similar image characteristics. Therefore, there is a high probability that the intra-prediction mode of the intra-predicted current block is equal to or similar to the intra-prediction mode of the adjacent block. According to various embodiments, based on the fact that adjacent blocks have a high probability of similar characteristics between them, an intra prediction mode candidate list including candidate intra prediction modes can be obtained using the adjacent block prediction mode information of the current block. block, wherein the intra-prediction modes of the candidate have a high probability of being the intra-prediction mode of the current block. Further, the intra prediction mode candidate list obtained using adjacent block prediction mode information may be referred to as a most likely mode list (MPM).
[00281] Когда режим интра-предсказания текущего блока находится в списке MPM, количество битов, требуемых, чтобы сигнализировать режим интра-предсказания текущего блока, может быть уменьшено. Например, когда число всех режимов интра-предсказания составляет 67, требуется по меньшей мере 7 битов, чтобы сигнализировать один из 67 режимов интра-предсказания. Однако когда используется 5 или 6 списков MPM, существует высокая вероятность, что режим интра-предсказания текущего блока определяется как находящийся в списках MPM, и даже когда режим интра-предсказания текущего блока не включен в списки MPM, остальные режимы интра-предсказания могут сигнализироваться с использованием только 6 битов за исключением 5 или 6 списков MPM. Поэтому, когда используется список MPM, количество всех битов, требуемых, чтобы сигнализировать режим интра-предсказания интра-предсказанного блока из блоков, составляющих картинку, может быть уменьшено.[00281] When the intra prediction mode of the current block is in the MPM list, the number of bits required to signal the intra prediction mode of the current block can be reduced. For example, when the number of all intra prediction modes is 67, at least 7 bits are required to signal one of the 67 intra prediction modes. However, when 5 or 6 MPM lists are used, there is a high possibility that the intra prediction mode of the current block is determined to be in the MPM lists, and even when the intra prediction mode of the current block is not included in the MPM lists, the remaining intra prediction modes may be signaled with using only 6 bits except for 5 or 6 MPM lists. Therefore, when the MPM list is used, the number of all bits required to signal the intra-prediction mode of an intra-predicted block of blocks constituting a picture can be reduced.
[00282] Фиг. 20 представляет собой опорную диаграмму для описания процесса получения списка MPM с использованием информации режима предсказания смежного блока, в соответствии с различными вариантами осуществления.[00282] FIG. 20 is a reference diagram for describing a process for obtaining an MPM list using adjacent block prediction mode information, according to various embodiments.
[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.[00283] With reference to FIG. 20, the MPM list may be obtained using the left adjacent block
[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}.[00284] According to an embodiment, first, the availability of the left
[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}.[00285] In the case where one of the intra-prediction modes of the left
[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}.[00286] When the intra prediction modes of the left
[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}.[00287] In the case where the difference value between predModeIntra (A) of the left
[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}.[00288] When the intra prediction modes of the left
[00289] Различные инструменты, включая расширение на множество опорных строк, в котором, в качестве опорной выборки текущего блока, избирательно используются не только смежные выборки, смежные с текущим блоком, но также смежные выборки, удаленные от текущего блока на предопределенное расстояние, интра-подразбиение, в котором блок, подлежащий интра-предсказанию, разделяется на под-разбиения, способ гибридного предсказания, где комбинируются интер-предсказание и интра-предсказание, или тому подобное могут использоваться в процессе кодирования/декодирования текущего блока. Чтобы уменьшить сложность, список MPM может выборочно устанавливаться в соответствии с инструментом, используемым в процессе кодирования текущего блока. Например, когда расширение на множество опорных строк используется в процессе кодирования текущего блока, планарный режим и режим DC могут исключаться из списка MPM, и когда используется интра-подразбиение, режим DC может исключаться из списка MPM. Для блока, для которого не используются ни расширение на множество опорных строк, ни интра-подразбиение, планарный режим и режим DC включаются в список MPM, так что сложность установления списка MPM может снижаться. Однако, когда схема генерации списка MPM изменяется в соответствии с тем, используется или нет конкретный инструмент, возможность того, что должен выбираться режим интра-предсказания, смещенный в направлении конкретного инструмента, может повышаться.[00289] Various tools, including a multi-reference row extension that selectively uses not only adjacent samples adjacent to the current block but also adjacent samples removed from the current block by a predetermined distance, intra- a sub-partition in which a block to be intra-prediction is divided into sub-partitions, a hybrid prediction method where inter-prediction and intra-prediction are combined, or the like can be used in the encoding/decoding process of the current block. To reduce complexity, the MPM list may be selectively set according to the tool used in the encoding process of the current block. For example, when multi-reference line expansion is used in the current block encoding process, the planar mode and the DC mode may be excluded from the MPM list, and when intra-subdivision is used, the DC mode may be excluded from the MPM list. For a block for which neither multi-reference row expansion nor intra-subdivision is used, the planar mode and the DC mode are included in the MPM list, so that the difficulty of establishing the MPM list can be reduced. However, when the MPM list generation scheme is changed according to whether or not a specific tool is used, the possibility that an intra-prediction mode biased towards a specific tool should be selected may increase.
[00290] В соответствии с вариантом осуществления, список MPM может избирательно использоваться на основе информации кодирования интра-предсказанного текущего блока. Другими словами, в соответствии с вариантом осуществления, это не тот случай, когда список MPM используется для всего интра-предсказанного текущего блока, или режим интра-предсказания текущего блока определяется из режимов интра-предсказания кандидата, включенных в список MPM. Только когда информация кодирования текущего блока удовлетворяет конкретному условию, может использоваться список MPM, или режим интра-предсказания текущего блока может определяться из режимов интра-предсказания кандидата, включенных в список MPM.[00290] According to an embodiment, the MPM list may be selectively used based on the encoding information of the intra-predicted current block. In other words, according to an embodiment, it is not the case that the MPM list is used for the entire intra-predicted current block, or the intra-prediction mode of the current block is determined from candidate intra-prediction modes included in the MPM list. Only when the encoding information of the current block satisfies a specific condition, the MPM list may be used, or the intra prediction mode of the current block may be determined from the candidate intra prediction modes included in the MPM list.
[00291] В соответствии с вариантом осуществления, когда информация кодирования, относящаяся к интра-предсказанному блоку, удовлетворяет предопределенному условию, список MPM может генерироваться без информации специального флага. Когда информация кодирования, относящаяся к интра-предсказанному блоку, не удовлетворяет предопределенному условию, может сигнализироваться информация специального флага, относящаяся к тому, следует ли генерировать список MPM для интра-предсказанного блока. Также, в соответствии с вариантом осуществления, перед генерацией списка MPM, может сначала определяться, является ли режим интра-предсказания текущего блока конкретным режимом интра-предсказания (например, не-угловым режимом), и затем, если режим интра-предсказания текущего блока не является конкретным режимом интра-предсказания, список MPM может генерироваться, и режим интра-предсказания текущего блока может определяться с использованием индекса MPM (MPM idx), указывающего один из режимов интра-предсказания кандидатов, включенных в список MPM. Также, то, следует ли применять инструмент кодирования, подлежащий использованию для текущего блока, может определяться из кандидатов режима интра-предсказания, включенных в список MPM. В соответствии с другим вариантом осуществления, список MPM текущего блока может равно генерироваться, независимо от информации кодирования, относящейся к текущему блоку. Информация кодирования может включать в себя информацию о том, следует ли применять предопределенный инструмент кодирования, применяемый к текущему блоку, информацию опорной выборки, подлежащую использованию в интра-предсказании относительно текущего блока, и информацию под-разбиения, указывающую, подлежит ли текущий блок разделению на под-разбиения.[00291] According to an embodiment, when encoding information related to an intra-predicted block satisfies a predetermined condition, an MPM list may be generated without special flag information. When the encoding information related to the intra-predicted block does not satisfy a predetermined condition, special flag information regarding whether to generate an MPM list for the intra-predicted block may be signaled. Also, according to an embodiment, before generating the MPM list, it may first be determined whether the intra prediction mode of the current block is a particular intra prediction mode (e.g., non-angular mode), and then if the intra prediction mode of the current block is not is a specific intra prediction mode, an MPM list may be generated, and the intra prediction mode of the current block may be determined using an MPM index (MPM idx) indicating one of the candidate intra prediction modes included in the MPM list. Also, whether or not to apply the coding tool to be used for the current block may be determined from the intra prediction mode candidates included in the MPM list. According to another embodiment, the MPM list of the current block may equally be generated regardless of the encoding information related to the current block. The encoding information may include information on whether to apply a predetermined encoding tool applied to the current block, reference sample information to be used in intra-prediction with respect to the current block, and sub-split information indicating whether the current block is to be divided into sub-partitions.
[00292] Фиг. 21 представляет собой блок-схему последовательности операций процесса генерации списка MPM в соответствии с вариантом осуществления, и фиг. 22 представляет собой диаграмму опорной выборки в соответствии с вариантом осуществления.[00292] FIG. 21 is a flowchart of an MPM list generation process according to the embodiment, and FIG. 22 is a reference sample diagram according to the embodiment.
[00293] Со ссылкой на фиг. 21, в операции 2110, определяется, на основе информации кодирования текущего блока, должен ли режим интра-предсказания текущего блока определяться из списка кандидатов режима интра-предсказания, полученного с использованием множества фрагментов информации режима предсказания смежных блоков, смежных с текущим блоком. То есть, то, следует ли использовать список MPM, может определяться на основе информации кодирования, относящейся к текущему блоку. Информация кодирования может включать в себя информацию опорной выборки, подлежащую использованию в интра-предсказании относительно текущего блока, и информацию под-разбиения, указывающую, подлежит ли текущий блок разделению на под-разбиения. В соответствии с различными вариантами осуществления, не только пиксел, смежный с текущим блоком, но также пиксел, удаленный от текущего блока на предопределенное расстояние, может использоваться в качестве опорной выборки в интра-предсказании. Со ссылкой на фиг. 22, не только пикселы 2210, непосредственно смежные с текущим блоком 2200, но также пикселы 2220 и 2230, удаленные на предопределенное расстояние от верхней границы и левой границы текущего блока 2200, могут использоваться в качестве опорной выборки в интра-предсказании. Информация опорной выборки, указывающая опорную выборку из смежных пикселов 2210, 2220 и 2230 текущего блока 2200, может сигнализироваться из кодера в декодер.[00293] With reference to FIG. 21, at
[00294] Предопределенное условие для определения, должен ли режим интра-предсказания текущего блока определяться с использованием списка MPM, может устанавливаться по-разному. Например, устройство 100 декодирования изображения может получать информацию опорной выборки и информацию под-разбиения из битового потока, может определять, на основе информации опорной выборки, (a) подлежит ли смежный пиксел, непосредственно смежный с текущим блоком, использованию в качестве опорной выборки текущего блока, и может определять, на основе информации под-разбиения, (b) подлежит ли текущий блок разделению на под-разбиения. После этого, устройство 100 декодирования изображения может определять, на основе результатов определений (a) и (b), подлежит ли один из режимов интра-предсказания кандидатов, включенных в список MPM, использованию в качестве режима интра-предсказания текущего блока. Также, в соответствии с вариантом осуществления, может быть установлена информация специального флага, указывающая, подлежит ли один из режимов интра-предсказания кандидатов, включенных в список MPM, использованию в режиме интра-предсказания текущего блока. Даже когда специальный флаг установлен, в случае, когда установлен флаг конкретного не-углового режима предсказания, указывающий, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом предсказания, и режим интра-предсказания текущего блока представляет собой конкретный не-угловой режим предсказания, режим интра-предсказания текущего блока может определяться без использования списка MPM.[00294] The predetermined condition for determining whether the intra-prediction mode of the current block should be determined using the MPM list may be set differently. For example, the
[00295] В результате определения в операции 2110, когда (a') смежный пиксел, непосредственно смежный с текущим блоком, не должен использоваться в качестве опорной выборки текущего блока, или (b') текущий блок подлежит разделению на под-разбиения, определяется, что список MPM подлежит использованию, и в операции 2120, устройство 100 декодирования изображения генерирует кандидаты MPM, подлежащие включению в список MPM. То есть, по меньшей мере одно из условия (a') или условия (b') удовлетворено, устройство 100 декодирования изображения определяет использовать список MPM.[00295] As a result of determining in
[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.[00296] As a result of determining in
[00297] Когда по меньшей мере одно условие из (a') или (b'), описанных выше, удовлетворено, или информация флага списка кандидатов режима интра-предсказания (intra_luma_mpm_flag) указывает, что список MPM подлежит использованию, в операции 2120, описанной выше, устройство 100 декодирования изображения генерирует список MPM, включающий в себя кандидаты MPM. В операции 2130, устройство 100 декодирования изображения получает информацию индекса MPM (MPM idx), указывающую один из кандидатов режима интра-предсказания, включенных в список MPM.[00297] When at least one of the conditions of (a') or (b') described above is satisfied, or the intra prediction mode candidate list flag information (intra_luma_mpm_flag) indicates that the MPM list is to be used, in
[00298] В соответствии с вариантом осуществления, устройство 100 декодирования изображения получает информацию не-углового режима интра-предсказания, указывающую, является ли режим интра-предсказания текущего блока конкретным не-угловым режимом интра-предсказания. Конкретный не-угловой режим интра-предсказания может представлять собой один из не-угловых режимов интра-предсказания, включая режим DC, планарный режим, плоский режим, билинейный режим или тому подобное. Когда информация не-углового режима интра-предсказания указывает конкретный не-угловой режим интра-предсказания, устройство 100 декодирования изображения определяет режим интра-предсказания текущего блока как конкретный не-угловой режим интра-предсказания, и когда информация не-углового режима интра-предсказания не указывает конкретный не-угловой режим интра-предсказания, устройство 100 декодирования изображения получает, из битового потока, информацию индекса режима интра-предсказания, указывающую таковой в списке кандидатов режима интра-предсказания, полученном на основе информации режима предсказания смежного блока, смежного с текущим блоком. После этого, устройство 100 декодирования изображения может определять режим интра-предсказания текущего блока с использованием полученной информации индекса режима интра-предсказания (MPM idx) и может выполнять интра-предсказание на текущем блоке с использованием режима интра-предсказания текущего блока. Причина того, почему определяется, является ли режим планарным, перед получением информации индекса MPM, состоит в том, что, во многих случаях, планарный режим определяется как режим интра-предсказания.[00298] According to an embodiment, the
[00299] Число кандидатов режима интра-предсказания, включенных в список MPM, может меняться. Например, число кандидатов режима интра-предсказания, подлежащих включению в список MPM, может определяться как пропорциональное или обратно пропорциональное размеру текущего блока. В соответствии с другим вариантом осуществления, информация режима интра-предсказания может включать в себя i) информацию, указывающую часть, которой принадлежит режим интра-предсказания текущего блока, из горизонтальной части и вертикальной части, и ii) информацию, указывающую один из режимов интра-предсказания, включенных в эту часть. Возвращаясь к фиг. 19, устройство 150 кодирования изображения может добавлять, в битовый поток, информацию о том, какой части принадлежит режим интра-предсказания текущего блока из режимов интра-предсказания вертикальной части и режимов интра-предсказания горизонтальной части. Например, то, какой части принадлежит режим интра-предсказания текущего блока из режимов интра-предсказания вертикальной части и режимов интра-предсказания горизонтальной части, может быть представлено с использованием информации флага 1 бит. Первый режим 1910 интра-предсказания с направлением 135 градусов может быть включен в предопределенную часть из горизонтальной части и вертикальной части. Информация, указывающая один из режимов интра-предсказания, включенных в часть, может быть представлена с использованием MPM, или может быть представлена как значение от 0 до (n-1), причем это значение указывает один из n режимов интра-предсказания (где n является положительным целым), включенных в эту часть. Устройство 100 декодирования изображения может сначала получать информацию, указывающую часть, которой принадлежит режим интра-предсказания текущего блока, из горизонтальной части и вертикальной части, и затем может определять режим интра-предсказания текущего блока с использованием информации, указывающей один из режимов интра-предсказания, включенных в эту часть.[00299] The number of intra prediction mode candidates included in the MPM list may vary. For example, the number of intra prediction mode candidates to be included in the MPM list may be determined to be proportional to or inversely proportional to the size of the current block. According to another embodiment, the intra prediction mode information may include i) information indicating the portion to which the intra prediction mode of the current block belongs, from a horizontal portion and a vertical portion, and ii) information indicating one of the intra prediction modes. predictions included in this part. Returning to FIG. 19, the
[00300] Когда устройство 150 кодирования изображения устанавливает список MPM в соответствии с различными вариантами осуществления и добавляет режим интра-предсказания текущего блока в битовый поток с использованием списка MPM, устройство 150 кодирования изображения может отдельно включать в себя информацию, указывающую часть, которой принадлежит режим интра-предсказания текущего блока, из горизонтальной части и вертикальной части.[00300] When the
[00301] Также, в соответствии с другим вариантом осуществления, информация, указывающая часть, которой принадлежит режим интра-предсказания текущего блока, из горизонтальной части и вертикальной части, может отдельно не включаться в битовый поток, и режим интра-предсказания текущего блока может определяться с использованием информации ширины и высоты и информации размера текущего блока, и информации режима интра-предсказания смежного блока. Например, когда высота текущего блока больше, чем его ширина, режим интра-предсказания текущего блока может определяться как один из режимов интра-предсказания вертикальной части, и когда ширина текущего блока больше, чем его высота, режим интра-предсказания текущего блока может определяться как один из режимов интра-предсказания горизонтальной части.[00301] Also, according to another embodiment, information indicating the part to which the intra-prediction mode of the current block belongs, from the horizontal part and the vertical part, may not be separately included in the bitstream, and the intra-prediction mode of the current block may be determined using the width and height information and the size information of the current block, and the intra-prediction mode information of the adjacent block. For example, when the height of the current box is larger than its width, the intra-prediction mode of the current box may be defined as one of the intra-prediction modes of the vertical part, and when the width of the current box is larger than its height, the intra-prediction mode of the current box may be defined as one of the intra-prediction modes of the horizontal part.
[00302] В соответствии с другим вариантом осуществления, режим интра-предсказания текущего блока может быть представлен с использованием двумерного вектора (vx, vy) (где vx, vy являются, каждый, действительным числом), указывающего направление опорного пиксела от текущего пиксела, подлежащего интра-предсказанию.[00302] According to another embodiment, the intra-prediction mode of the current block may be represented using a two-dimensional vector (vx, vy) (where vx, vy are each a real number) indicating the direction of a reference pixel from the current pixel to be intra-prediction.
[00303] Фиг. 23 представляет собой опорную диаграмму для описания способа представления режима интра-предсказания как вектора, в соответствии с другим вариантом осуществления. Со ссылкой на фиг. 23, предполагается, что текущий пиксел предсказывается с использованием опорного пиксела, разнесенного по горизонтальной оси W и вертикальной оси H. Поскольку все пикселы в блоке имеют одно и то же направление интра-предсказания, направление предсказания, указанное режимом интра-предсказания, может быть представлено как двумерный вектор 2320 (W, H). Вместо двумерного вектора (W, H), указывающего режим интра-предсказания, может использоваться вектор (vx, vy) 2310 как репрезентативный вектор, значение которого равно 1 и который указывает то же самое направление, что и двумерный вектор (W, H). То есть, двумерный вектор (W, H) может быть нормализован, чтобы значению vx2+vy2 было равно 1, так что может быть получен двумерный вектор (vx, vy) 2310, указывающий режим интра-предсказания текущего блока. Таким образом, когда двумерный вектор (vx, vy) используется в качестве информации режима интра-предсказания, различные направления предсказания могут указываться, по сравнению с режимами интра-предсказания в предопределенном направлении, которое установлено ранее.[00303] FIG. 23 is a reference diagram for describing a method for representing the intra prediction mode as a vector, according to another embodiment. With reference to FIG. 23, it is assumed that the current pixel is predicted using a reference pixel spaced apart along the horizontal W axis and the vertical H axis. Since all pixels in the block have the same intra prediction direction, the prediction direction indicated by the intra prediction mode can be represented as a two-dimensional vector 2320 (W, H). Instead of a 2D vector (W, H) indicating the intra prediction mode, the vector (vx, vy) 2310 can be used as a representative vector whose value is 1 and which points in the same direction as the 2D vector (W, H). That is, the 2D vector (W, H) can be normalized so that vx 2 +vy 2 is 1, so that the 2D vector (vx, vy) 2310 indicating the intra-prediction mode of the current block can be obtained. Thus, when a two-dimensional vector (vx, vy) is used as the intra prediction mode information, different prediction directions can be indicated, compared to the intra prediction modes in the predetermined direction that is set before.
[00304] В соответствии с вариантом осуществления, число и тип режимов интра-предсказания могут меняться в соответствии с индексом MPM или режимами интра-предсказания, включенными в список MPM. Например, когда список MPM включает в себя режим интра-предсказания, для которого значение predModeIntra равно 50, режимы интра-предсказания в направлении, аналогичном режиму интра-предсказания, для которого значение predModeIntra равно 50, могут дополнительно включаться в режимы интра-предсказания кандидата. Также, список MPM может делиться на предопределенное число групп в соответствии со значениями predModeIntra, включенными в список MPM, и предварительно установленные режимы интра-предсказания могут определяться в соответствии с группами списка MPM.[00304] According to an embodiment, the number and type of intra prediction modes may change according to the MPM index or intra prediction modes included in the MPM list. For example, when the MPM list includes an intra-prediction mode for which the value of predModeIntra is 50, intra-prediction modes in the same direction as the intra-prediction mode for which the value of predModeIntra is 50 may be further included in candidate intra-prediction modes. Also, the MPM list may be divided into a predetermined number of groups according to predModeIntra values included in the MPM list, and preset intra prediction modes may be determined according to the groups of the MPM list.
[00305] В соответствии с вариантом осуществления, число режимов интра-предсказания может определяться на основе значения параметра квантования (QP). Например, число доступных режимов интра-предсказания может определяться как обратно пропорциональное значению QP текущего блока. Также, когда значение QP текущего блока меньше, чем предопределенное пороговое значение, число доступных режимов интра-предсказания может быть установлено как M (где M является положительным целым), и когда значение QP текущего блока равно или больше, чем предопределенное пороговое значение, число доступных режимов интра-предсказания может быть установлено как N (где M>N, N является положительным целым).[00305] According to an embodiment, the number of intra prediction modes may be determined based on a quantization parameter (QP) value. For example, the number of available intra-prediction modes may be determined as inversely proportional to the QP value of the current block. Also, when the QP value of the current block is less than a predetermined threshold, the number of available intra prediction modes can be set to M (where M is a positive integer), and when the QP value of the current block is equal to or greater than the predetermined threshold, the number of available intra-prediction modes can be set to N (where M>N, N is a positive integer).
[00306] В соответствии с вариантом осуществления, режимы интра-предсказания могут включаться в список MPM в соответствии с предопределенным порядком приоритетов. Предполагается, что, когда N режимов интра-предсказания включены в список MPM, индекс MPM (MPM idx), указывающий один из N кандидатов, может иметь целое значение от 0 до (N-1), и когда значение индекса MPM (MPM idx) уменьшено, режим интра-предсказания для него является режимом, имеющим более высокий приоритет. В соответствии с вариантом осуществления, порядок приоритетов режимов интра-предсказания, включенных в список MPM, может определяться на основе частот режимов интра-предсказания смежных блоков. Например, более высокие приоритеты списка MPM, т.е., меньшие индексы MPM, могут быть установлены в порядке более высоких частот режимов интра-предсказания смежных блоков.[00306] According to an embodiment, intra prediction modes may be included in the MPM list according to a predefined priority order. It is assumed that when N intra-prediction modes are included in the MPM list, the MPM index (MPM idx) indicating one of the N candidates may have an integer value from 0 to (N-1), and when the value of the MPM index (MPM idx) reduced, the intra-prediction mode for it is the mode having the higher priority. According to an embodiment, the order of priorities of the intra prediction modes included in the MPM list may be determined based on the frequencies of the intra prediction modes of adjacent blocks. For example, higher MPM list priorities, ie, smaller MPM indices, may be set in order of higher frequencies of adjacent block intra-prediction modes.
[00307] В соответствии с другим вариантом осуществления, порядок приоритетов режимов интра-предсказания смежных блоков, включенных в список MPM, может определяться, с учетом размеров и форм текущего блока и смежных блоков.[00307] In accordance with another embodiment, the order of priorities of intra-prediction modes of adjacent blocks included in the MPM list may be determined, taking into account the sizes and shapes of the current block and adjacent blocks.
[00308] Фиг. 24A-24C представляют собой опорные диаграммы для описания порядка приоритетов режимов интра-предсказания смежных блоков, включенных в список MPM, с учетом размеров текущего блока и смежных блоков.[00308] FIG. 24A-24C are reference diagrams for describing the priority order of intra prediction modes of adjacent blocks included in the MPM list, given the sizes of the current block and adjacent blocks.
[00309] В соответствии с другим вариантом осуществления, режим интра-предсказания смежного блока, имеющего размер, аналогичный размеру текущего блока, может располагаться с более высоким приоритетом в списке MPM. Со ссылкой на фиг. 24A, из левого смежного блока 2410 и верхнего смежного блока 2420 текущего блока 2400, режим интра-предсказания левого смежного блока 2410, имеющего тот же самый размер, что и текущий блок 2400, может быть установлен как расположенный с более высоким приоритетом в списке MPM, по сравнению с режимом интра-предсказания верхнего смежного блока 2420.[00309] In accordance with another embodiment, the intra-prediction mode of an adjacent block having a size similar to that of the current block may be prioritized in the MPM list. With reference to FIG. 24A, from the left
[00310] Также, режим интра-предсказания смежного блока, имеющего форму, аналогичную текущему блоку, может быть установлен как расположенный с более высоким приоритетом в списке MPM. Со ссылкой на фиг. 24B, когда текущий блок 2400 имеет неквадратную форму, ширина которой больше, чем ее высота, режим интра-предсказания левого смежного блока 2430, имеющего неквадратную форму, ширина которой больше, чем ее высота, который аналогичен текущему блоку 2400, из левого смежного блока 2430 и верхнего смежного блока 2440, может быть установлен как расположенный с более высоким приоритетом в списке MPM, по сравнению с режимом интра-предсказания верхнего смежного блока 2440.[00310] Also, the intra-prediction mode of an adjacent block having a shape similar to the current block can be set to higher priority in the MPM list. With reference to FIG. 24B, when the
[00311] Также, когда текущий блок имеет неквадратную форму, режим интра-предсказания смежного блока в направлении вдоль длинной стороны текущего блока может быть установлен как расположенный с более высоким приоритетом в списке MPM. Со ссылкой на фиг. 24C, когда текущий блок 2400 имеет неквадратную форму, ширина которой больше, чем ее высота, режим интра-предсказания верхнего смежного блока 2460, смежного с направлением ширины текущего блока 2400, из смежных блоков 2450 и 2460, имеющих равный размер, может быть установлен как расположенный с более высоким приоритетом в списке MPM, по сравнению с режимом интра-предсказания левого смежного блока 2450.[00311] Also, when the current block has a non-square shape, the intra-prediction mode of the adjacent block in the direction along the long side of the current block can be set to higher priority in the MPM list. With reference to FIG. 24C, when the
[00312] Фиг. 25 представляет собой диаграмму, иллюстрирующую смежные блоки текущего блока, которые используются в списке MPM, в соответствии с другим вариантом осуществления.[00312] FIG. 25 is a diagram illustrating adjacent blocks of the current block that are used in the MPM list according to another embodiment.
[00313] В соответствии с другим вариантом осуществления, вместо режима интра-предсказания смежного блока, непосредственно смежного с текущим блоком, режим интра-предсказания смежного блока, который не является смежным с текущим блоком и разнесен на предопределенное расстояние, может включаться в список MPM. Со ссылкой на фиг. 25, вместо смежных блоков 2510 и 2520, которые являются непосредственно смежными с текущим блоком 2500, режимы интра-предсказания смежных блоков 2530 и 2540, разнесенных на предопределенное расстояние, могут использоваться при установке списка MPM. В виде исключения, вместо режима интра-предсказания, имеющего наиболее высокую вероятность из режимов интра-предсказания смежных блоков текущего блока, наименее вероятный режим, имеющий наименьшую вероятность, может быть включен в список MPM.[00313] According to another embodiment, instead of an intra-prediction mode of an adjacent block directly adjacent to the current block, an intra-prediction mode of an adjacent block that is not adjacent to the current block and spaced apart by a predetermined distance may be included in the MPM list. With reference to FIG. 25, instead of
[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) кодирования бинаризации, на основе числа режимов интра-предсказания, включенных в него.[00314] According to various embodiments, the MPM list may be set using the left block and top block intra prediction modes, and then the additional MPM list may be set using the intra prediction modes included in the MPM list. Hereinafter, the first installed MPM list is called the default MPM list. The reason why an additional MPM list is set in addition to the default MPM list is to cover the case where the intra prediction mode, which is not included in the first set default MPM list, is determined to be the intra prediction mode of the current block. The optional MPM list may include intra prediction modes having a predModeIntra obtained by logarithmic addition or subtraction of a predefined value to or from predModeIntra values of the intra prediction modes included in the default MPM list. For example, when the predModeIntra value of the arbitrary intra-prediction modes included in the existing MPM list is a default value, the additional MPM list may include intra-prediction modes having the values predModeIntra default±1, default±2, default±4, default ±8, default±16 and default±32. First, the number of residual intra prediction modes not to be included in the default MPM list and the optional MPM list may be determined, and the number of intra prediction modes to be included in the default MPM list and the number of intra prediction modes to be inclusion in the supplementary MPM list. The default MPM list and optional MPM list can be applied according to the stages. That is, it is first determined whether the intra-prediction mode of the current block is included in the default MPM list, and then, when the intra-prediction mode of the current block is not included in the default MPM list, an optional MPM list can be set. The optional MPM list may be encoded using a truncated unary (TU) binarization coding based on the number of intra-prediction modes included therein.
[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 опорного режима интра-предсказания.[00315] When the intra prediction mode of the current block is not included in the MPM list, the
[00316] В соответствии с вариантом осуществления, список MPM может генерироваться с учетом по меньшей мере одного из размера и формы текущего блока и размера картинки.[00316] In accordance with an embodiment, the MPM list may be generated considering at least one of the size and shape of the current block and the size of the picture.
[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.[00317] Returning to FIG. 20, according to another embodiment, when the current block has a non-square shape, instead of the intra-prediction modes included in the MPM list using maxAB, the intra-prediction mode of the adjacent block, which is similar to the direction in which the current block has a large length of width and height of the current block, can be included in the MPM list. In detail, when the current block has a non-square shape whose height is larger than its width, the intra-prediction mode of the adjacent block, which is relatively close to the vertical direction, which is the height direction from the prediction mode A of the left
[00318] В соответствии с другим вариантом осуществления, когда размер блока увеличивается, вероятность того, что режим DC или планарный режим подлежит выбору, увеличивается, и, таким образом, для блока с размером, равным или большим, чем предопределенный размер, планарный режим и режим DC могут быть установлены в более высоком порядке приоритетов списка MPM. Например, планарный режим может быть установлен как MPM[0], который представляет собой верхний порядок приоритетов, и режим DC может быть установлен как MPM[1], который представляет собой второй верхний порядок приоритетов. Когда размер блока мал, сходство с режимами интра-предсказания смежных блоков велико, и, таким образом, режимы интра-предсказания верхнего смежного блока и левого смежного блока могут быть установлены с высоким приоритетом списка MPM.[00318] According to another embodiment, as the block size increases, the probability that the DC mode or the planar mode is to be selected increases, and thus, for a block with a size equal to or greater than the predetermined size, the planar mode and DC mode can be set in a higher priority order of the MPM list. For example, the planar mode may be set to MPM[0], which is the top priority order, and the DC mode may be set to MPM[1], which is the second top priority order. When the block size is small, the similarity with intra-prediction modes of adjacent blocks is large, and thus the intra-prediction modes of the upper adjacent block and the left adjacent block can be set with a high priority of the MPM list.
[00319] В соответствии с другим вариантом осуществления, когда разрешение картинки увеличивается, вероятность того, что плоская площадь увеличивается, велика, и таким образом, порядок приоритетов не-угловых режимов интра-предсказания может быть установлен с высоким приоритетом списка MPM. Например, когда разрешение равно или больше, чем 4K, что является предопределенным пороговым значением, режим DC и планарный режим могут быть установлены с более высоким порядком приоритетов списка MPM.[00319] According to another embodiment, when the resolution of a picture is increased, the probability that the flat area is increased is large, and thus the priority order of the non-angular intra prediction modes can be set to a high priority of the MPM list. For example, when the resolution is equal to or greater than 4K, which is a predetermined threshold, the DC mode and the planar mode can be set to a higher priority order of the MPM list.
[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} может быть заново получен.[00320] According to another embodiment, when the MPM list generated in the prediction of an intra prediction block that has been previously processed is stored as a lookup table, and the intra prediction block to be processed thereafter is processed, the MPM list can be used, saved as a lookup table. Also, the MPM list may be updated each time each intra-prediction block is processed. The non-angular intra-prediction modes can be set in the higher priority order of mpm[0] and mpm[1], and the angular intra-prediction modes can be set in the lower priority order of mpm[2~5]. After the MPM list is generated, the intra-prediction modes and priority order included in the MPM list can be changed using the MPM ordering table. For example, the MPM list is assumed to be set to {DC, planar, H, V, A, B, A+n, A-n, B+n, B-n}. In this regard, H refers to the intra-prediction mode in the horizontal direction, V refers to the intra-prediction mode in the vertical direction, A refers to the intra-prediction mode of the left adjacent block, B refers to the intra-prediction mode of the upper adjacent block, and n refers to a predefined integer (for example, n is 1 or 2). Also, the number included in the MPM ordering table refers to the address of the MPM list array. When the MPM ordering table matches {0, 1, 4, 5, 6, 7}, the intra-prediction modes mpm[0], mpm[1], mpm[4], mpm[5], mpm[6], and mpm are selected [7] of the MPM list, and thus the MPM list {DC, Planar, V, A, B, A+n, A-n} can be reacquired.
[00321] Также, списки MPM, которые ранее генерировались, сохраняются, с учетом типов инструментов, примененных к ранее обработанным блокам интра-предсказания, или размера и формы предыдущего блока, и тогда список MPM ранее обработанного интра-блока с тем же самым условием может использоваться для интра-блока, подлежащего обработке после этого.[00321] Also, the MPM lists that were previously generated are stored, given the types of tools applied to the previously processed intra prediction blocks, or the size and shape of the previous block, and then the MPM list of the previously processed intra block with the same condition may be used for the intra-block to be processed afterwards.
[00322] В соответствии с другим вариантом осуществления, когда текущий блок не использует опорный пиксел, который является непосредственно смежным, может использоваться список MPM, который исключает режим DC и планарный режим и находится в списке MPM, полученном с использованием режимов интра-предсказания смежных блоков текущего блока. Также, как описано выше, вместо maxAB, используемого, когда режим интра-предсказания левого смежного блока и режим интра-предсказания верхнего смежного блока отличаются, может использоваться minAB, который является меньшим индексом режима интра-предсказания из индексов A и B режима интра-предсказания левого смежного блока и верхнего смежного блока. То есть, когда индекс режима интра-предсказания (predModeIntra) левого смежного блока равен A, и индекс режима интра-предсказания (predModeIntra) правого смежного блока равен B, minAB, который получают посредством minAB=Min(A, B), может использоваться вместо maxAB.[00322] According to another embodiment, when the current block does not use a reference pixel that is directly adjacent, an MPM list that excludes DC mode and planar mode and is in the MPM list obtained using adjacent block intra-prediction modes can be used. current block. Also, as described above, instead of maxAB used when the intra-prediction mode of the left adjacent block and the intra-prediction mode of the upper adjacent block are different, minAB, which is the smaller index of the intra-prediction mode of the indices A and B of the intra-prediction mode, can be used. the left adjacent block and the top adjacent block. That is, when the intra prediction mode index (predModeIntra) of the left adjacent block is A and the intra prediction mode index (predModeIntra) of the right adjacent block is B, minAB which is obtained by minAB=Min(A, B) can be used instead of maxAB.
[00323] В соответствии с другим вариантом осуществления, список MPM может включать в себя {V, H, 34, 2, 66} по умолчанию, и затем среднее значение режимов интра-предсказания горизонтальной части и среднее значение режимов интра-предсказания вертикальной части из режимов интра-предсказания, полученных из режима интра-предсказания левого смежного блока и режима интра-предсказания верхнего смежного блока, могут быть включены в дополнительный список MPM. В соответствии с другим вариантом осуществления, режим интра-предсказания, соответствующий индексу режима интра-предсказания значения, полученного путем сложения или вычитания предопределенного смещения (например, смещение является целым числом, равным или больше 1) с или из индекса режима интра-предсказания смежного блока, который исключается, когда список MPM сгенерирован, может быть включен в дополнительный список MPM. Как описано выше, когда смежный блок недоступен, когда список MPM сгенерирован, режим интра-предсказания смежного блока может быть установлен как планарный режим по умолчанию.[00323] According to another embodiment, the MPM list may include {V, H, 34, 2, 66} by default, and then the average of the horizontal part intra-prediction modes and the average of the vertical part intra-prediction modes from intra-prediction modes obtained from the left adjacent block intra-prediction mode and the upper adjacent block intra-prediction mode may be included in the optional MPM list. According to another embodiment, an intra-prediction mode corresponding to the intra-prediction mode index of a value obtained by adding or subtracting a predetermined offset (e.g., the offset is an integer equal to or greater than 1) with or from the intra-prediction mode index of an adjacent block , which is excluded when the MPM list is generated, may be included in the optional MPM list. As described above, when the adjacent block is not available when the MPM list is generated, the intra-prediction mode of the adjacent block can be set as the default planar mode.
[00324] Фиг. 26 представляет собой опорную диаграмму, иллюстрирующую схему генерирования списка MPM при параллельной обработке, в соответствии с вариантом осуществления.[00324] FIG. 26 is a reference diagram illustrating an MPM list generation scheme in parallel processing, according to an embodiment.
[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 комбинируются.[00325] According to an embodiment, the top adjacent block and the left adjacent block, which are used in generating the MPM list of the plurality of blocks to be processed in parallel, may be equal. With reference to FIG. 26, in order to process
[00326] Фиг. 27 иллюстрирует поисковую таблицу, показывающую отношения отображения между индексами режимов интра-предсказания (predModeIntra) и угловыми параметрами (IntraPredAngle) в соответствии с режимами интра-предсказания, в соответствии с вариантом осуществления, и фиг. 28 иллюстрирует поисковую таблицу, показывающую отношения отображения между индексами режимов интра-предсказания (predModeIntra) и угловыми параметрами (IntraPredAngle) в соответствии с режимами интра-предсказания, в соответствии с другим вариантом осуществления.[00326] FIG. 27 illustrates a lookup table showing mapping relationships between indices of intra prediction modes (predModeIntra) and angle parameters (IntraPredAngle) according to intra prediction modes, according to an embodiment, and FIG. 28 illustrates a lookup table showing mapping relationships between indices of intra prediction modes (predModeIntra) and angle parameters (IntraPredAngle) according to intra prediction modes, according to another embodiment.
[00327] Конкретное направление режимов интра-предсказания в соответствии с различными вариантами осуществления, описанными выше, может быть представлено с использованием углового параметра IntraPredAngle о конкретном направлении на основе индекса режима интра-предсказания (predModeIntra), за исключением вертикального направления 90 градусов и горизонтального направления 180 градусов. Например, направление режимов интра-предсказания горизонтальной части может иметь направление tan-1(intraPredAngle/фиксированное число) с использованием фиксированного числа в горизонтальном направлении и углового параметра IntraPredAngle в вертикальном направлении, и направление режимов интра-предсказания вертикальной части может иметь направление tan-1(фиксированное число/intraPredAngle) с использованием углового параметра IntraPredAngle в горизонтальном направлении и фиксированного числа в вертикальном направлении. В этом отношении, фиксированное число может представлять собой степень 2. Например, фиксированное число может представлять собой одно из 32, 64 и 128.[00327] The specific direction of the intra prediction modes according to the various embodiments described above can be represented using the angular parameter IntraPredAngle about the specific direction based on the intra prediction mode index (predModeIntra), except for the 90 degree vertical direction and the horizontal direction 180 degrees. For example, the direction of the intra-prediction modes of the horizontal part may be in the direction of tan-1(intraPredAngle/fixed number) using a fixed number in the horizontal direction and the angular parameter IntraPredAngle in the vertical direction, and the direction of the intra-prediction modes of the vertical part may be in the direction of tan -1 (fixed number/intraPredAngle) using the angle parameter IntraPredAngle in the horizontal direction and a fixed number in the vertical direction. In this regard, the fixed number may be a power of 2. For example, the fixed number may be one of 32, 64, and 128.
[00328] Фиг. 29 представляет собой опорную диаграмму для описания угловых параметров IntraPredAngle, относящихся к направлениям режимов интра-предсказания, в соответствии с вариантами осуществления.[00328] FIG. 29 is a reference diagram for describing IntraPredAngle angular parameters related to directions of intra prediction modes, according to embodiments.
[00329] Направление предсказания на основе режима интра-предсказания может быть указано с использованием фиксированного числа в горизонтальном направлении и углового параметра IntraPredAngle в вертикальном направлении или может быть указано с использованием углового параметра IntraPredAngle в горизонтальном направлении и фиксированного числа в вертикальном направлении. Например, со ссылкой на фиг. 29, конкретное направление 2912 относительно текущего пиксела 2910 имеет угол tan-1(32/intraPredAngle) (градусов) или (90-tan-1 (32/intraPredAngle) (градусов) с использованием углового параметра IntraPredAngle в горизонтальном направлении и фиксированного числа 32 в вертикальном направлении.[00329] A prediction direction based on the intra prediction mode may be indicated using a fixed number in the horizontal direction and an IntraPredAngle angle parameter in the vertical direction, or may be indicated using an IntraPredAngle angular parameter in the horizontal direction and a fixed number in the vertical direction. For example, with reference to FIG. 29, a
[00330] В интра-предсказании, смежный пиксел может определяться с использованием фиксированного числа и углового параметра IntraPredAngle.[00330] In intra-prediction, an adjacent pixel may be determined using a fixed number and an angle parameter 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 известны.[00331] A process for determining an
[00332] Когда значение (y+1)*intraPredAngle кратно 32, p указывает смежный пиксел в целочисленном местоположении, и когда значение (y+1)*intraPredAngle не кратно 32, конкретное направление на основе intraPredAngle указывает промежуток между двумя смежными пикселами (k и k+1). Когда конкретное направление на основе intraPredAngle указывает промежуток между двумя смежными пикселами (k и k+1), взвешенное среднее значение двух смежных пикселов (k и k+1) может использоваться в качестве значения предсказания текущего пиксела 2910.[00332] When the value of (y+1)*intraPredAngle is a multiple of 32, p indicates an adjacent pixel at an integer location, and when the value of (y+1)*intraPredAngle is not a multiple of 32, a specific direction based on intraPredAngle indicates the gap between two adjacent pixels (k and k+1). When a particular direction based on intraPredAngle indicates the gap between two adjacent pixels (k and k+1), the weighted average of the two adjacent pixels (k and k+1) may be used as the prediction value of the
[00333] В интра-предсказании, смежный пиксел в конкретном направлении используется в качестве опорного пиксела, т.е., значения предсказания, для текущего пиксела 2910. При условии фиксированного числа в горизонтальном или вертикальном направлении, направления угловых режимов интра-предсказания могут быть указаны с использованием одного параметра углового параметра IntraPredAngle. Поэтому, как описано выше со ссылкой на фиг. 27 и 28, угловой параметр IntraPredAngle, указывающий конкретные направления угловых режимов интра-предсказания, соответствующих индексам режимов интра-предсказания (predModeIntra) режимов интра-предсказания, может быть предварительно определен в виде поисковой таблицы.[00333] In intra prediction, an adjacent pixel in a particular direction is used as a reference pixel, i.e., prediction value, for the
[00334] Раскрытие было конкретно показано и описано со ссылкой на его варианты осуществления. В этом отношении, специалисту в данной области техники будет понятно, что различные изменения в форме и подробностях могут выполняться без отклонения от объема раскрытия. Поэтому варианты осуществления должны рассматриваться только в описательном смысле и не с целью ограничения. Объем раскрытия определяется не подробными описаниями раскрытия, а следующей формулой изобретения, и все отличия в пределах объема будут пониматься как включенные в раскрытие.[00334] The disclosure has been specifically shown and described with reference to its embodiments. In this regard, one skilled in the art will appreciate that various changes in form and detail may be made without departing from the scope of the disclosure. Therefore, the embodiments are to be considered in a descriptive sense only and not by way of limitation. The scope of the disclosure is not defined by the detailed descriptions of the disclosure, but by the following claims, and all differences within the scope will be understood to be included in the disclosure.
[00335] Между тем, вышеописанные варианты осуществления раскрытия могут быть написаны как программа, исполняемая на компьютере, и могут быть реализованы в универсальных цифровых компьютерах, которые исполняют программу с использованием считываемого компьютером носителя записи. Примеры считываемого компьютером носителя записи включают в себя магнитные носители хранения (например, ROM, флоппи-диски, жесткие диски и т.д.), оптические носители записи (например, CD-ROM или DVD) или тому подобное.[00335] Meanwhile, the above-described embodiments of the disclosure may be written as a program executable on a computer, and may be implemented in mainframe digital computers that execute the program using a computer-readable recording medium. Examples of the computer-readable recording media include magnetic storage media (eg, ROMs, floppy disks, hard disks, etc.), optical recording media (eg, CD-ROMs or DVDs), or the like.
Claims (8)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862669650P | 2018-05-10 | 2018-05-10 | |
US62/669,650 | 2018-05-10 | ||
US201962792272P | 2019-01-14 | 2019-01-14 | |
US62/792,272 | 2019-01-14 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020140417A Division RU2769840C1 (en) | 2018-05-10 | 2019-05-10 | Video encoding method and device and video decoding method and device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2023100791A Division RU2819421C1 (en) | 2018-05-10 | 2023-01-16 | Video encoding and decoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2022108221A RU2022108221A (en) | 2022-05-06 |
RU2788967C2 true RU2788967C2 (en) | 2023-01-26 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2498234A (en) * | 2012-01-09 | 2013-07-10 | Canon Kk | Image encoding and decoding methods based on comparison of current prediction modes with reference prediction modes |
RU2573744C2 (en) * | 2011-07-20 | 2016-01-27 | Квэлкомм Инкорпорейтед | Buffering prediction data in video coding |
RU2619706C2 (en) * | 2011-06-28 | 2017-05-17 | Самсунг Электроникс Ко., Лтд. | Method and device for encoding video, and method and device for decoding video which is accompanied with internal prediction |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2619706C2 (en) * | 2011-06-28 | 2017-05-17 | Самсунг Электроникс Ко., Лтд. | Method and device for encoding video, and method and device for decoding video which is accompanied with internal prediction |
RU2573744C2 (en) * | 2011-07-20 | 2016-01-27 | Квэлкомм Инкорпорейтед | Buffering prediction data in video coding |
GB2498234A (en) * | 2012-01-09 | 2013-07-10 | Canon Kk | Image encoding and decoding methods based on comparison of current prediction modes with reference prediction modes |
Non-Patent Citations (1)
Title |
---|
ALEXEY FILIPPOV еt al, Description of Core Experiment 3: Intra Prediction and Mode Coding, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-J1023, 10th Meeting: San Diego, 10-20 Apr. 2018. M. ALBRECHT еt al, Description of SDR, HDR, and 360ъ video coding technology proposal by Fraunhofer HHI, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-J0014-v1, 10th Meeting: San Diego, 10-20 Apr. 2018. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2769840C1 (en) | Video encoding method and device and video decoding method and device | |
KR102770887B1 (en) | Video encoding method and device, and video decoding method and device | |
KR102712746B1 (en) | A method and an apparatus for video decoding, a method and an apparatus for video encoding | |
KR102487598B1 (en) | Method and Apparatus for video encoding and Method and Apparatus for video decoding | |
KR102471075B1 (en) | Encoding method and apparatus therefor, and decoding method and apparatus therefor | |
EP3787287A1 (en) | Video encoding method and device and video decoding method and device | |
KR102525032B1 (en) | Method and apparatus for image encoding, and method and apparatus for image decoding | |
EP3846473A1 (en) | Video encoding method and encoding device, and video decoding method and decoding device considering hardware design | |
CN112703731B (en) | Method and apparatus for encoding image based on sub-block and method and apparatus for decoding image | |
RU2788967C2 (en) | Method and device for video encoding and method and device for video decoding | |
RU2819421C1 (en) | Video encoding and decoding method | |
KR20230054914A (en) | Method and apparatus for image encoding, and method and apparatus for image decoding |