RU2555236C2 - Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания - Google Patents
Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания Download PDFInfo
- Publication number
- RU2555236C2 RU2555236C2 RU2013106810/08A RU2013106810A RU2555236C2 RU 2555236 C2 RU2555236 C2 RU 2555236C2 RU 2013106810/08 A RU2013106810/08 A RU 2013106810/08A RU 2013106810 A RU2013106810 A RU 2013106810A RU 2555236 C2 RU2555236 C2 RU 2555236C2
- Authority
- RU
- Russia
- Prior art keywords
- intra
- block
- pixel
- mode
- neighboring
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности сжатия изображения посредством использования режимов внутрикадрового предсказания, имеющих различные направления. Устройство для кодирования изображения с использованием внутрикадрового предсказания содержит блок определения режима внутрикадрового предсказания, который определяет режим внутрикадрового предсказания текущего блока, подлежащего кодированию, причем режим внутрикадрового предсказания указывает определенное направление из множества направлений, при этом определенное направление указывается посредством одного из числа dx в горизонтальном направлении и постоянного числа в вертикальном направлении и числа dy в вертикальном направлении и постоянного числа в горизонтальном направлении; и блок выполнения внутрикадрового предсказания, выполняющий внутрикадровое предсказание применительно к текущему блоку в соответствии с режимом внутрикадрового предсказания, причем внутрикадровое предсказание содержит этап, на котором определяют позицию соседних пикселов посредством операции сдвига на основе позиции текущего пиксела и одного из параметров dx и dy, указывающих определенное направление, причем соседние пикселы расположены на левой стороне текущего блока или на верхней стороне текущего блока. 2 н. и 7 з.п. ф-лы, 21 ил., 4 табл.
Description
Область техники, к которой относится изобретение
[1] Иллюстративные варианты осуществления настоящего раскрытия относятся к кодированию и декодированию изображения, и, более конкретно, к способу и устройству кодирования и декодирования изображения с использованием внутрикадрового предсказания, которые могут повысить эффективность сжатия изображения посредством использования режимов внутрикадрового предсказания, имеющих различные направления.
Уровень техники
[2] Для кодирования изображения в соответствии со стандартом сжатия изображения, таким как стандарт сжатия движущихся видеоизображений (MPEG)-1, MPEG-2, MPEG-4 или стандарт усовершенствованного кодирования видеосигнала (AVC) H.264/MPEG-4, изображение разбивается на макроблоки. После кодирования каждого из макроблоков с использованием любого из режимов кодирования с межкадровым предсказанием и внутрикадровым предсказанием, соответствующий режим кодирования выбирается в соответствии со скоростью, требуемой для кодирования макроблока, а также в соответствии с допустимым искажением между исходным макроблоком и восстановленным макроблоком, после чего макроблок кодируется с использованием выбранного режима кодирования.
[3] По мере развития аппаратных средств для воспроизведения и сохранения высококачественного графического контента с высоким разрешением возрастает потребность в видеокодеке, который эффективно кодирует или декодирует высококачественный видеоконтент с высоким разрешением.
Раскрытие изобретения
Техническая проблема
[4] При использовании традиционного видеокодека, видеосигнал кодируется с использованием ограниченного режима кодирования, основанного на макроблоке, имеющем предварительно определенный размер.
Решение проблемы
[5] Иллюстративные варианты осуществления обеспечивают способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания посредством использования режимов внутрикадрового предсказания, имеющих различные направления.
[6] Иллюстративные варианты осуществления также обеспечивают способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания, которые могут сократить объем вычислений, выполняемых в процессе внутрикадрового предсказания.
Выгодные эффекты изобретения
[7] В связи с тем, что внутрикадровое предсказание выполняется в различных направлениях, может быть повышена эффективность сжатия изображения.
[8] Может быть сокращен объем вычислений, выполняемых для определения опорного пиксела в процессе внутрикадрового предсказания.
Краткое описание чертежей
[9] Фиг.1 изображает блок-схему, иллюстрирующую устройство кодирования изображения, в соответствии с иллюстративным вариантом осуществления;
[10] Фиг.2 изображает таблицу, иллюстрирующую множество режимов внутрикадрового предсказания, согласно размеру текущего блока, в соответствии с иллюстративным вариантом осуществления;
[11] Фиг.3 изображает таблицу для разъяснения режимов внутрикадрового предсказания, которые применяются к блоку, имеющему предварительно определенный размер, в соответствии с иллюстративным вариантом осуществления;
[12] Фиг.4 изображает графическое представление, иллюстрирующее направления режимов внутрикадрового предсказания, которые представлены на Фиг.3, в соответствии с иллюстративным вариантом осуществления;
[13] Фиг.5 изображает графическое представление для разъяснения способа внутрикадрового предсказания, выполняемого применительно к блоку, который иллюстрируется на Фиг.3, в соответствии с иллюстративным вариантом осуществления;
[14] Фиг.6 изображает графическое представление для разъяснения режимов внутрикадрового предсказания, которые применяются к блоку, имеющему предварительно определенный размер, в соответствии с другим иллюстративным вариантом осуществления;
[15] Фиг.7 изображает иллюстративное графическое представление для разъяснения режимов внутрикадрового предсказания, имеющих различные направления, в соответствии с иллюстративным вариантом осуществления;
[16] Фиг.8 изображает иллюстративное графическое представление для разъяснения процесса формирования предиктора (экстраполяционной функции) в ситуации, когда продолженная линия, имеющая предварительно определенный угол наклона, проходит между, а не через фактические позиции соседних пикселов, в соответствии с иллюстративным вариантом осуществления;
[17] Фиг.9 изображает иллюстративное графическое представление для разъяснения процесса формирования предиктора (экстраполяционной функции) в ситуации, когда продолженная линия, имеющая предварительно определенный угол наклона, проходит между фактическими позициями соседних пикселов, в соответствии с другим иллюстративным вариантом осуществления;
[18] Фиг.10 изображает иллюстративное графическое представление для разъяснения режима двунаправленного предсказания, в соответствии с иллюстративным вариантом осуществления;
[19] Фиг.11 изображает графическое представление для разъяснения процесса формирования значения предсказания режима внутрикадрового предсказания текущего блока, в соответствии с иллюстративным вариантом осуществления;
[20] Фиг.12 и 13 изображают иллюстративные графические представления для разъяснения процесса преобразования для унификации режимов внутрикадрового предсказания блоков, имеющих различные размеры, в соответствии с иллюстративными вариантами осуществления;
[21] Фиг.14 изображает иллюстративное графическое представление для разъяснения процесса преобразования режимов внутрикадрового предсказания соседнего блока в один из типичных режимов внутрикадрового предсказания, в соответствии с иллюстративным вариантом осуществления;
[22] Фиг.15 изображает графическое представление для разъяснения взаимосвязи между текущим пикселом и соседними пикселами, расположенными на продолженной линии, имеющей направление (dx, dy), в соответствии с иллюстративным вариантом осуществления;
[23] Фиг.16 изображает графическое представление для разъяснения изменения в соседнем пикселе, расположенном на продолженной линии, имеющей направление (dx, dy), согласно позиции текущего пиксела, в соответствии с иллюстративным вариантом осуществления;
[24] Фиг.17 и 18 изображают графические представления для разъяснения способа определения направления режима внутрикадрового предсказания, в соответствии с иллюстративными вариантами осуществления;
[25] Фиг.19 изображает графическое представление алгоритма, иллюстрирующее способ кодирования изображения с использованием внутрикадрового предсказания, в соответствии с иллюстративным вариантом осуществления;
[26] Фиг.20 изображает блок-схему, иллюстрирующую устройство декодирования изображения, в соответствии с иллюстративным вариантом осуществления; и
[27] Фиг.21 изображает графическое представление алгоритма, иллюстрирующее способ декодирования изображения с использованием внутрикадрового предсказания, в соответствии с иллюстративным вариантом осуществления.
Предпочтительный вариант осуществления изобретения
[28] В соответствии с аспектом иллюстративного варианта осуществления, обеспечивается способ кодирования изображения с использованием внутрикадрового предсказания, содержащий этапы деления текущего кадра изображения, по меньшей мере, на один блок, имеющий предварительно определенный размер; определения, из числа пикселов соседнего блока, который был предварительно восстановлен перед пикселом, по меньшей мере, одного блока, пиксела соседнего блока вдоль продолженной линии, имеющей предварительно определенный угол наклона, вокруг пиксела, по меньшей мере, одного блока; и предсказания пиксела, по меньшей мере, одного блока посредством использования определенного пиксела соседнего блока.
[29] В соответствии с другим аспектом иллюстративного варианта осуществления, обеспечивается способ декодирования изображения с использованием внутрикадрового предсказания, содержащий этапы деления текущего кадра изображения, по меньшей мере, на один блок, имеющий предварительно определенный размер; извлечения из битового потока информации о режиме внутрикадрового предсказания, которая указывает режим внутрикадрового предсказания, применяемый к, по меньшей мере, одному блоку; и выполнения внутрикадрового предсказания применительно, по меньшей мере, к одному блоку, в соответствии с режимом внутрикадрового предсказания, указанным посредством извлеченной информации о режиме внутрикадрового предсказания, причем в режиме внутрикадрового предсказания пиксел соседнего блока предсказывает пиксел, по меньшей мере, одного блока, пиксел соседнего блока определяется из числа пикселов соседнего блока, который был предварительно восстановлен перед пикселом, по меньшей мере, одного блока, посредством использования продолженной линии, имеющей предварительно определенный угол наклона, вокруг пиксела, по меньшей мере, одного блока.
[30] В соответствии с другим аспектом иллюстративного варианта осуществления, обеспечивается устройство кодирования изображения с использованием внутрикадрового предсказания, включающее в себя блок внутрикадрового предсказания, который определяет пиксел соседнего блока из числа пикселов соседнего блока, который был предварительно восстановлен перед пикселом текущего блока изображения посредством использования продолженной линии, имеющей предварительно определенный угол наклона, вокруг пиксела текущего блока, и предсказывает пиксел текущего блока посредством использования определенного пиксела соседнего блока.
[31] В соответствии с другим аспектом иллюстративного варианта осуществления, обеспечивается устройство декодирования изображения с использованием внутрикадрового предсказания, включающее в себя блок внутрикадрового предсказания, который извлекает из битового потока информацию о режиме внутрикадрового предсказания, которая указывает режим внутрикадрового предсказания, применяемый к текущему блоку изображения, а также выполняет внутрикадровое предсказание применительно к текущему блоку в соответствии с режимом внутрикадрового предсказания, указанным посредством извлеченной информации о режиме внутрикадрового предсказания, причем в режиме внутрикадрового предсказания пиксел соседнего блока предсказывает пиксел текущего блока, пиксел соседнего блока определяется из числа пикселов соседнего блока, который был предварительно восстановлен перед пикселом текущего блока, посредством использования продолженной линии, имеющей предварительно определенный угол наклона вокруг пиксела текущего блока.
Осуществление изобретения
[32] Далее, со ссылкой на сопроводительные чертежи, на которых изображаются иллюстративные варианты осуществления, иллюстративные варианты осуществления будут описаны более подробно.
[33] Фиг.1 изображает блок-схему, иллюстрирующую устройство 100 кодирования изображения, в соответствии с иллюстративным вариантом осуществления.
[34] Как изображено на Фиг.1, устройство 100 включает в себя блок 110 внутрикадрового предсказания, блок 120 оценки движения, блок 125 компенсации движения, блок 130 преобразования частоты, блок 140 квантования, энтропийный кодер 150, блок 160 обратного квантования, блок 170 обратного преобразования частоты, блок 180 деблокинга и блок 190 пространственной фильтрации.
[35] Блок 120 оценки движения и блок 125 компенсации движения выполняют межкадровое предсказание, которое делит Текущий кадр 105 текущего изображения на блоки, каждый из которых имеет предварительно определенный размер, а также осуществляют поиск значения предсказания каждого из блоков опорного кадра изображения.
[36] Блок 110 внутрикадрового предсказания выполняет внутрикадровое предсказание, которое осуществляет поиск значения предсказания текущего блока посредством использования пикселов соседних блоков текущего кадра изображения. В частности, в дополнение к традиционному режиму внутрикадрового предсказания, блок 110 внутрикадрового предсказания дополнительно выполняет режимы внутрикадрового предсказания, имеющие различные направления, посредством использования параметров (dx, dy). Добавленные режимы внутрикадрового предсказания, в соответствии с настоящим иллюстративным вариантом осуществления, будут разъясняться позже.
[37] Остаточные значения текущего блока генерируются на основе значения предсказания, выводимого из блока 110 внутрикадрового предсказания и блока 125 компенсации движения, и выводятся в качестве квантованных коэффициентов преобразования посредством блока 130 преобразования частоты и блока 140 квантования.
[38] Квантованные коэффициенты преобразования восстанавливаются в остаточные значения посредством блока 160 обратного квантования и блока 170 обратного преобразования частоты, после чего восстановленные остаточные значения обрабатываются посредством блока 180 деблокинга и блока 190 пространственной фильтрации и выводятся в опорный кадр 195. Квантованные коэффициенты преобразования могут быть выведены в качестве битового потока 155 посредством энтропийного кодера.
[39] Далее будет подробно разъясняться внутрикадровое предсказание, выполняемое посредством блока 110 внутрикадрового предсказания, который иллюстрируется на Фиг.1. Способ внутрикадрового предсказания для повышения эффективности сжатия изображения будет разъясняться на примере кодека, который может выполнять кодирование со сжатием посредством использования блока, имеющего размер, который больше или меньше 16×16, а не на примере традиционного кодека, такого как H.264, который выполняет кодирование на основе макроблока, имеющего размер 16×16.
[40] Фиг.2 изображает таблицу, иллюстрирующую множество режимов внутрикадрового предсказания, согласно размеру текущего блока, в соответствии с иллюстративным вариантом осуществления.
[41] Количество применяемых к блоку режимов внутрикадрового предсказания может меняться в зависимости от размера блока. К примеру, как изображено на Фиг.2, когда размер блока, к которому должно быть применено внутрикадровое предсказание, равен N×N, количество режимов внутрикадрового предсказания, фактически выполняемых применительно к каждому из блоков, имеющих соответствующие размеры 2×2, 4×4, 8×8, 16×16, 32×32, 64×64 и 128×128, может быть задано равным 5, 9, 9, 17, 33, 5 и 5 (относительно примера 2). В связи с этим, количество фактически выполняемых режимов внутрикадрового предсказания меняется в зависимости от размера блока, поскольку заголовок для информации о режиме кодирования с использованием предсказания меняется в зависимости от размера блока. Другими словами, в ситуации, когда блок имеет небольшой размер, несмотря на то, что блок занимает небольшую часть от целого изображения, заголовок для передачи дополнительной информации, такой как режим предсказания блока, имеющего небольшой размер, может быть большим. Соответственно, если блок, который имеет небольшой размер, кодируется посредством использования слишком большого количества режимов предсказания, то скорость может быть увеличена, вследствие чего снижается эффективность сжатия. Кроме того, поскольку блок, который имеет большой размер, к примеру, больше 64×64, зачастую выбирается в качестве блока для плоской области изображения, когда блок, который имеет большой размер, кодируется посредством использования слишком большого количества режимов предсказания, эффективность сжатия также может быть снижена.
[42] Соответственно, как изображено на Фиг.2, при грубой классификации размеров блоков, по меньшей мере, на три размера N1×N1 (2=N1=8, N1 является целым числом), N2×N2 (16=N2=32, N2 является целым числом) и N3×N3 (64=N3, N3 является целым числом), количеством режимов внутрикадрового предсказания, которые будут выполнены применительно к блоку, который имеет размер N1×N1, будет являться A1 (A1 является положительным целым числом), количеством режимов внутрикадрового предсказания, которые будут выполнены применительно к блоку, который имеет размер N2×N2, будет являться A2 (A2 является положительным целым числом), а количеством режимов внутрикадрового предсказания, которые будут выполнены применительно к блоку, который имеет размер N3×N3, будет являться A3 (A3 является положительным целым числом), кроме того, предпочтительно, чтобы количество режимов внутрикадрового предсказания, которые будут выполнены в зависимости от размера каждого блока, было задано таким, чтобы оно удовлетворяло равенство A3=A1=A2. То есть, при грубом делении текущего изображения на блок, который имеет небольшой размер, блок, который имеет средний размер, и блок, который имеет большой размер, предпочтительно, чтобы блок, который имеет средний размер, имел наибольшее количество режимов предсказания, а блок, который имеет небольшой размер, и блок, который имеет большой размер, имели относительно небольшое количество режимов предсказания. Однако настоящий иллюстративный вариант осуществления не ограничивается этим, между тем блок, который имеет небольшой размер, а также блок, который имеет большой размер, могут иметь большое количество режимов предсказания. Количество режимов предсказания, которое меняется в зависимости от размера каждого блока, иллюстрированного на Фиг.2, является иллюстративным, и может быть изменено.
[43] Фиг.3 изображает таблицу для разъяснения режимов внутрикадрового предсказания, которые применяются к блоку, имеющему предварительно определенный размер, в соответствии с иллюстративным вариантом осуществления.
[44] Как изображено на Фиг.2 и 3, когда внутрикадровое предсказание выполняется применительно к блоку, который имеет размер 4×4, блок, который имеет размер 4×4, может иметь режим вертикального предсказания (режим 0), режим горизонтального предсказания (режим 1), режим усредненного (DC) предсказания (режим 2), режим диагонального предсказания вниз влево (режим 3), режим диагонального предсказания вниз вправо (режим 4), режим вертикального предсказания вправо (режим 5), режим горизонтального предсказания вниз (режим 6), режим вертикального предсказания влево (режим 7) и режим горизонтального предсказания вверх (режим 8).
[45] Фиг.4 изображает графическое представление, иллюстрирующее направления режимов внутрикадрового предсказания, которые представлены на Фиг.3, в соответствии с иллюстративным вариантом осуществления. На Фиг.4 цифра, изображенная на конце стрелки, обозначает соответствующее значение режима, когда предсказание выполняется в направления, указанной посредством стрелки. В данном случае режим 2 является режимом усредненного (DC) предсказания без направления, и поэтому не изображен.
[46] Фиг.5 изображает графическое представление для разъяснения способа внутрикадрового предсказания, выполняемого применительно к блоку, который иллюстрируется на Фиг.3, в соответствии с иллюстративным вариантом осуществления.
[47] Как изображено на Фиг.5, блок предсказания формируется посредством использования соседних пикселов A-M текущего блока в доступном режиме внутрикадрового предсказания, определенном посредством размера блока. К примеру, будет разъяснена операция кодирования с использованием предсказания текущего блока, который имеет размер 4×4, в режиме 0 на Фиг.3, то есть, в режиме вертикального предсказания. Сначала значения пикселов А-D, которые являются соседними над текущим блоком, имеющим размер 4×4, предсказываются таким образом, чтобы быть равными значениям пикселов текущего блока, который имеет размер 4×4. То есть, значение пиксела A предсказывается таким образом, чтобы быть равным значениям четырех пикселов, включенных в первый столбец текущего блока, который имеет размер 4×4, значение пиксела В предсказывается таким образом, чтобы быть равным значениям четырех пикселов, включенных во второй столбец текущего блока, который имеет размер 4×4, значение пиксела С предсказывается таким образом, чтобы быть равным значениям четырех пикселов, включенных в третий столбец текущего блока, который имеет размер 4×4, а значение пиксела D предсказывается таким образом, чтобы быть равным значениям четырех пикселов, включенных в четвертый столбец текущего блока, который имеет размер 4×4. Затем получают и кодируют остаток между фактическими значениями пикселов, включенных в оригинальный Текущий блок с размером 4×4, и значениями пикселов, включенных в Текущий блок размером 4×4, предсказанными посредством использования пикселов А-D.
[48] Фиг.6 изображает графическое представление для разъяснения режимов внутрикадрового предсказания, применяемых к блоку, который имеет предварительно определенный размер, в соответствии с другим иллюстративным вариантом осуществления.
[49] Как изображено на Фиг.2 и 6, когда внутрикадровое предсказание выполняется применительно к блоку, который имеет размер 2×2 или 128×128, блок, который имеет размер 2×2 или 128×128, может иметь 5 режимов: режим вертикального предсказания, режим горизонтального предсказания, режим усредненного (DC) предсказания, режим плоскостного предсказания и режим диагонального предсказания вниз вправо.
[50] Между тем, если блок, который имеет размер 32×32, включает в себя 33 режима внутрикадрового предсказания, как изображено на Фиг.2, то необходимо задать направления 33 режимов внутрикадрового предсказания. Для задания режимов внутрикадрового предсказания, имеющих различные направления, отличных от режимов внутрикадрового предсказания, иллюстрированных на Фиг.4 и 6, направление предсказания для выбора соседнего пиксела, используемого в качестве опорного пиксела около пиксела в блоке, задается посредством использования параметров (dx, dy). К примеру, если каждый из 33 режимов предсказания представить в качестве режима N (N является целым числом от 0 до 32), то режим 0 может быть задан в качестве режима вертикального предсказания, режим 1 может быть задан в качестве режима горизонтального предсказания, режим 2 может быть задан в качестве режима усредненного (DC) предсказания, режим 3 может быть задан в качестве режима плоскостного предсказания, а каждый из 4-32 режимов может быть задан в качестве режима предсказания, имеющего направление tan-1(dy/dx), представленного в качестве одного из параметров (dx, dy), которые выражаются в качестве одного из следующих вариантов: (1, -1), (1, 1), (1, 2), (2, 1), (1, -2), (2, 1), (1, -2), (2, -1), (2, -11), (5, -7), (10, -7), (11, 3), (4, 3), (1, 11), (1, -1), (12, -3), (1, -11), (1, -7), (3, -10), (5, -6), (7, -6), (7, -4), (11, 1), (6, 1), (8, 3), (5, 3), (5, 7), (2, 7), (5, -7) и (4, -3), как представлено в таблице 1.
[51] | Таблица 1 | ||||
Режим# | dx | dy | Режим# | dx | dy |
Режим 4 | 1 | -1 | Режим 18 | 1 | -11 |
Режим 5 | 1 | 1 | Режим 19 | 1 | -7 |
Режим 6 | 1 | 2 | Режим 20 | 3 | -10 |
Режим 7 | 2 | 1 | Режим 21 | 5 | -6 |
Режим 8 | 1 | -2 | Режим 22 | 7 | -6 |
Режим 9 | 2 | -1 | Режим 23 | 7 | -4 |
Режим 10 | 2 | -11 | Режим 24 | 11 | 1 |
Режим 11 | 5 | -7 | Режим 25 | 6 | 1 |
Режим 12 | 10 | -7 | Режим 26 | 8 | 3 |
Режим 13 | 11 | 3 | Режим 27 | 5 | 3 |
Режим 14 | 4 | 3 | Режим 28 | 5 | 7 |
Режим 15 | 1 | 11 | Режим 29 | 2 | 7 |
Режим 16 | 1 | -1 | Режим 30 | 5 | -7 |
Режим 17 | 12 | -3 | Режим 31 | 4 | -3 |
Режим 0 является режимом вертикального предсказания, режим 1 является режимом горизонтального предсказания, режим 2 является режимом усредненного (DC) предсказания, режим 3 является режимом плоскостного предсказания, а режим 32 является режимом двунаправленного предсказания |
[52] Последний режим 32 может быть задан в качестве режима двунаправленного предсказания, использующего двунаправленную интерполяцию, как будет описано позже со ссылкой на Фиг.10.
[53] Фиг.7 изображает иллюстративное графическое представление для разъяснения режимов внутрикадрового предсказания, имеющих различные направления, в соответствии с иллюстративным вариантом осуществления.
[54] Как было описано со ссылкой на таблицу 1, режимы внутрикадрового предсказания могут иметь различные направления tan-1(dy/dx) посредством использования множества параметров (dx, dy).
[55] Как изображено на Фиг.7, соседние пикселы A и В, расположенные на продолженной линии 700, имеющей угол наклона tan-1(dy/dx), который определяется согласно параметрам (dx, dy) каждого режима, изображенного в таблице 1, вокруг текущего пиксела P, предсказываемого в текущем блоке, могут быть использованы в качестве предиктора (экстраполяционной функции) для текущего пиксела P. В данном случае предпочтительно, чтобы соседние пикселы A и В, используемые в качестве предиктора, являлись пикселами соседнего блока, расположенными на верхней, левой, справа по верхней и слева по нижней сторонах текущего блока, который был предварительно закодирован и восстановлен. Кроме того, если продолженная линия 700 проходит между, а не через фактические позиции соседних пикселов, то соседние пикселы, которые находятся ближе к текущему пикселу P из числа соседних пикселов, находящихся близко к продолженной линии 700, могут быть использованы в качестве предиктора, или же предсказание может быть выполнено посредством использования соседних пикселов, находящихся близко к продолженной линии 700. К примеру, среднее значение между соседними пикселами, находящимися близко к продолженной линии 700, или средневзвешенное значение, оценивающее расстояние между пересечением продолженной линии 700 и соседними пикселами, находящимися близко к продолженной линии 700, может быть использовано в качестве предиктора для текущего пиксела P. Кроме того, как изображено на Фиг.7, оно может быть сообщено в элементах блоков, соседние пикселы которых, к примеру, соседние пикселы A и B, будут использоваться в качестве предиктора для текущего пиксела P из числа соседних пикселов на оси X и соседних пикселов на оси Y, которые являются доступными согласно направлениям предсказания.
[56] Фиг.8 изображает иллюстративное графическое представление для разъяснения процесса формирования предиктора (экстраполяционной функции), в ситуации, когда продолженная линия 800, имеющая предварительно определенный угол наклона, проходит между, а не через фактические позиции соседних пикселов, в соответствии с иллюстративным вариантом осуществления.
[57] Как изображено на Фиг.8, если продолженная линия 800, имеющая угол tan-1(dy/dx), который определяется согласно параметрам (dx, dy) каждого режима, проходит между фактическими позициями соседнего пиксела 810 А и соседнего пиксела 820 В, то средневзвешенное значение, оценивающее расстояние между пересечением продолженной линии 800 и соседними пикселами 810 А и 820 В, находящимися близко к продолженной линии 800, может быть использовано в качестве предиктора для текущего пиксела P, как было описано выше. К примеру, когда расстояние между пересечением продолженной линии 800, имеющей угол tan-1(4dy/dx), и соседним пикселом 810 А равняется f, а расстояние между пересечением продолженной линии 800 и соседним пикселом 820 B равняется g, предиктор для текущего пиксела P может быть получен при помощи вычисления (A*g+B*f)/(f+g). В данном случае предпочтительно, чтобы f и g могли являться нормированным расстоянием и использовать целое число. При использовании программных или аппаратных средств, предиктор для текущего пиксела P может быть получен посредством операции сдвига (g*A+f*B+2)>>2. Как изображено на Фиг.8, если продолженная линия 800 проходит через первую четверть, находящуюся близко к соседнему пикселу 810 А, из числа четырех частей, полученных посредством деления расстояния между фактическими позициями соседнего пиксела 810 А и соседнего пиксела 820 В на четыре части, то предиктор для текущего пиксела P может быть получен при помощи вычисления (3*A+B)/4. Такая операция может быть выполнена посредством операции сдвига с учетом округления до ближайшего целого числа, подобно вычислению (3*A+B+2)>>2.
[58] Фиг.9 изображает иллюстративное графическое представление для разъяснения процесса формирования предиктора в ситуации, когда продолженная линия, имеющая предварительно определенный угол наклона, проходит между фактическими позициями соседних пикселов, в соответствии с другим иллюстративным вариантом осуществления.
[59] Как изображено на Фиг.9, если продолженная линия, имеющая угол tan-1(dy/dx), который определяется согласно параметрам (dx, dy) каждого режима, проходит между фактическими позициями соседнего пиксела 910 А и соседнего пиксела 920 В, то фрагмент, находящийся между соседним пикселом 910 А и соседним пикселом 920 В может быть разделен на предварительно определенное количество областей, а средневзвешенное значение, оценивающее расстояние между пересечением и соседним пикселом 910 А и соседним пикселом 920 В в каждой разделенной области, может быть использовано в качестве значения предсказания. К примеру, как изображено на Фиг.9, фрагмент, находящийся между соседним пикселом 910 А и соседним пикселом 920 В, может быть разделен на пять фрагментов P1-P5, может быть определено типичное средневзвешенное значение, оценивающее расстояние между пересечением и соседним пикселом 151 А и соседним пикселом 152 В в каждом фрагменте, при этом типичное средневзвешенное значение может быть использовано в качестве предиктора для текущего пиксела P. Более подробно, если продолженная линия проходит через фрагмент Р1, то значение соседнего пиксела 910 А может быть определено в качестве предиктора для текущего пиксела P. Если продолженная линия проходит через фрагмент P2, то средневзвешенное значение (3*A+1*B+2)>>2, оценивающее расстояние между соседним пикселом 910 А и соседним пикселом 920 В и средней точкой фрагмента P2, может быть определено в качестве предиктора для текущего пиксела P. Если продолженная линия проходит через фрагмент P3, то средневзвешенное значение (2*A+2*B+2)>>2, оценивающее расстояние между соседним пикселом 910 А и соседним пикселом 920 В и средней точкой фрагмента P3, может быть определено в качестве предиктора для текущего пиксела P. Если продолженная линия проходит через фрагмент P4, то средневзвешенное значение (1*A+3*B+2)>>2, оценивающее расстояние между соседним пикселом 910 А и соседним пикселом 920 В и средней точкой фрагмента P4, может быть определено в качестве предиктора для текущего пиксела P. Если продолженная линия проходит через фрагмент P5, то значение соседнего пиксела 920 В может быть определено в качестве предиктора для текущего пиксела P.
[60] Кроме того, если два соседних пиксела, то есть соседний пиксел А, находящийся на верхней стороне, и соседний пиксел В, находящийся на левой стороне, пересекаются с продолженной линией 700, как изображено на Фиг.7, то среднее значение соседнего пиксела A и соседнего пиксела В может быть использовано в качестве предиктора для текущего пиксела P. В альтернативном варианте, если значение (dx*dy) является положительным, то может быть использован соседний пиксел А, находящийся на верхней стороне, а если значение (dx*dy) является отрицательным, то может быть использован соседний пиксел В, находящийся на левой стороне.
[61] Предпочтительно, чтобы режимы внутрикадрового предсказания, имеющие различные направления, как представлено в таблице 1, были предварительно заданы в конце кодирования и в конце декодирования, а также, чтобы передавался исключительно соответствующий индекс режима внутрикадрового предсказания, заданного для каждого блока.
[62] Фиг.10 изображает иллюстративное графическое представление для разъяснения режима двунаправленного предсказания, в соответствии с иллюстративным вариантом осуществления.
[63] Как изображено на Фиг.10, в режиме двунаправленного предсказания вычисляется геометрическое среднее значение, оценивающее расстояния до верхней, нижней, левой и правой границ текущего пиксела P и пикселов, расположенных на верхней, нижней, левой и правой границах вокруг текущего пиксела P, предсказываемого в текущем блоке, а результат вычисления используется в качестве предиктора для текущего пиксела P. То есть, в режиме двунаправленного предсказания геометрическое среднее значение расстояний до верхней, нижней, левой и правой границ текущего пиксела P и пиксела 1061 А, пиксела 1002 В, пиксела 1006 D и пиксела E 1007, которые располагаются на верхней, нижней, левой и правой границах текущего пиксела P, может быть использовано в качестве предиктора для текущего пиксела 1060 Р. В данном случае, поскольку режим двунаправленного предсказания является одним из режимов внутрикадрового предсказания, соседние пикселы, находящиеся на верхней и левой сторонах, которые были предварительно закодированы, а затем восстановлены, также должны быть использованы в качестве опорных пикселов в процессе предсказания. Следовательно, соответствующие значения пикселов в текущем блоке не используются в качестве пиксела 1061 А и пиксела 1002 В, а используются значения виртуальных пикселов, сгенерированные посредством использования соседних пикселов, находящихся на верхней и левой сторонах.
[64] Более подробно, виртуальный пиксел 1003 С, находящийся справа на нижней стороне текущего блока, вычисляется посредством использования среднего значения соседнего пиксела 1004 RightUpPixel, находящегося справа на верхней стороне, и соседнего пиксела 1005 LeftDownPixel, находящегося слева на нижней стороне, смежной с текущим блоком, как представлено в уравнении 1.
[65] Уравнение 1
C=0,5(DownPixel+UpPixel)
[66] Уравнение 1 может быть вычислено посредством операции сдвига, такой как C=0,5(LeftDownPixel+RightUpPixel+1)>>1.
[67] Когда Текущий пиксел 1060 P расширяется вниз на расстояние W1 до левой границы, а также на расстояние W2 до правой границы текущего пиксела 1060 Р, значение виртуального пиксела 1061, расположенного на нижней границе, может быть задано посредством использования среднего значения соседнего пиксела 1005 LeftDownPixel, находящегося слева на нижней стороне, и пиксела 1003 С. К примеру, значение пиксела 1061 А может быть вычислено посредством использования одного уравнения, представленного в уравнении 2.
[68] Уравнение 2
A=(C*W1+DownPixel*W2/(W1+W2);
A=(C*W1+DownPixel*W2+((W1+W2)/2))/(W1+W2)
[69] Как показано в уравнении 2, когда значение W1+W2 возводится во вторую степень, подобно 2^n,
A=(C*W1+LeftDownPixel*W2+(W1+W2)/2))/(W1+W2) может быть вычислено посредством операции сдвига, как A=(C*W1+LeftDownPixel*W2+2^(n-1))>>n без деления.
[70] Подобно этому, когда текущий пиксел 1060 Р расширяется вправо на расстояние h1 до верхней границы текущего пиксела 1060 P, а также на расстояние h2 до нижней границы текущего пиксела 1060 Р, значение виртуального пиксела 1002 Р, расположенного на правой границе, может быть задано посредством использования среднего значения соседнего пиксела 1004 RightUpPixel, находящегося справа на верхней стороне, и пиксела 1003 С, на расстоянии h1 и h2. К примеру, значение пиксела 1002 В может быть вычислено посредством использования одного уравнения, представленного в уравнении 3.
[71] Уравнение 3
B=(C*h1+UpPixel*h2)/(h1+h2);
B=(C*h1+UpPixel*h2+(h1+h2)/2))/(h1+h2)
[72] Как показано в уравнении 3, когда значение h1+h2 возводится во вторую степень, подобно 2^m,
B=(C*h1+RightUpPixel*h2+(h1+h2)/2))/(h1+h2) может быть вычислено посредством операции сдвига, как B=(C*h1+RightUpPixel*h2+2^(m-1))>>m без деления.
[73] После определения значений виртуального пиксела 1061 А, находящегося на нижней границе текущего пиксела 1060 Р, и виртуального пиксела 1002 В, находящегося на правой границе текущего пиксела 1060 Р, посредством использования уравнений 1-3, предиктор для текущего пиксела 1060 Р может быть определен посредством использования среднего значения A+B+D+E. Более подробно, средневзвешенное значение, оценивающее расстояние между текущим пикселом 1060 Р и виртуальным пикселом 1061 А, виртуальным пикселом 1002 В, пикселом 1006 D и пикселом 1007 Е, или среднее значение A+B+D+E может быть использовано в качестве предиктора для текущего пиксела 1060 Р. К примеру, если размер изображенного на Фиг.10 блока составляет 16×16 и используется средневзвешенное значение, предиктор для текущего пиксела 1060 Р может быть получен следующим образом: (h1*A+h2*D+W1*B+W2*E+16)>>5. Соответственно, такое двунаправленное предсказание применяется ко всем пикселам в текущем блоке, а также в режиме двунаправленного предсказания формируется блок предсказания текущего блока.
[74] Поскольку кодирование с использованием предсказания выполняется в соответствии с режимами внутрикадрового предсказания, которые меняются в зависимости от размера блока, то в соответствии с характеристиками изображения может быть достигнуто более эффективное сжатие.
[75] Между тем, поскольку в соответствии с настоящим иллюстративным вариантом осуществления используется большее количество режимов внутрикадрового предсказания, чем количество режимов внутрикадрового предсказания, используемых в традиционном кодеке, то совместимость с традиционным кодеком может стать проблемной. Соответственно, может возникнуть необходимость в преобразовании доступных режимов внутрикадрового предсказания, имеющих различные направления, в один из меньшего количества режимов внутрикадрового предсказания. То есть, если количество доступных режимов внутрикадрового предсказания текущего блока составляет N1 (N1 является целым числом), то для создания совместимости доступных режимов внутрикадрового предсказания текущего блока с блоком, имеющим N2 (N2 является целым числом, отличным от N1) режимов внутрикадрового предсказания, режимы внутрикадрового предсказания текущего блока могут быть преобразованы в режим внутрикадрового предсказания, имеющий наиболее схожее направление из N2 режимов внутрикадрового предсказания. К примеру, предполагается, что в текущем блоке являются доступными в общей сложности 33 режима внутрикадрового предсказания, как представлено в таблице 1, а режимом внутрикадрового предсказания, который в конечном счете применяется к текущему блоку, является режим 14, то есть, (dx, dy)=(4, 3), имеющий направление tan-1(3/4)=36,87(градусов). В данном случае для сопоставления режима внутрикадрового предсказания, применяемого к текущему блоку, с одним из 9 режимов внутрикадрового предсказания, как изображено на Фиг.4, может быть выбран режим 4 (вниз вправо), имеющий направление, которое является наиболее сходным с направлением в 36,87 (градусов). То есть, режим 14, который представлен в таблице 1, может быть преобразован в режим 4, который иллюстрируется на Фиг.4. Подобным образом, если в качестве режима внутрикадрового предсказания, применяемого к текущему блоку, выбирается режим 15, то есть, (dx, dy)=(1, 11), из числа 33 доступных режимов внутрикадрового предсказания, представленных в таблице 1, поскольку направление режима внутрикадрового предсказания, применяемого к текущему блоку, является tan-1(11)=84,80 (градусов), то режим 0 (вертикального преобразования), который изображен на Фиг.4 и имеет направление, которое является наиболее сходным с направлением в 84,80 (градусов), может быть преобразован в режим 15.
[76] Между тем, для декодирования блока, закодированного с использованием внутрикадрового предсказания, требуется информация о режиме внутрикадрового предсказания, посредством которого был закодирован текущий блок. Соответственно, в процессе кодирования изображения информация о режиме внутрикадрового предсказания текущего блока добавляется в битовый поток, и на тот момент, если информация о режиме внутрикадрового предсказания добавляется в битовый поток в неизменном виде для каждого блока, заголовок расширяется, вследствие чего снижается эффективность сжатия. Соответственно, информация о режиме внутрикадрового предсказания текущего блока, который определяется в результате кодирования текущего блока, не может быть передана в неизменном виде, при этом может быть передано только значение отличия между значением фактического режима внутрикадрового предсказания и значением предсказания режима внутрикадрового предсказания, предсказанным из соседних блоков.
[77] При использовании режимов внутрикадрового предсказания, имеющих различные направления, в соответствии с настоящим иллюстративным вариантом осуществления, количество доступных режимов внутрикадрового предсказания может меняться в зависимости от размера блока. Соответственно, для предсказания режима внутрикадрового предсказания текущего блока, необходимо преобразовать режимы внутрикадрового предсказания соседних блоков в типичные режимы внутрикадрового предсказания. В данном случае предпочтительно, чтобы типичные режимы внутрикадрового предсказания могли иметь меньшее количество режимов внутрикадрового предсказания из числа режимов внутрикадрового предсказания доступных соседних блоков, или 9 режимов внутрикадрового предсказания, как изображено на Фиг.14.
[78] Фиг.11 изображает графическое представление для разъяснения процесса формирования значения предсказания режима внутрикадрового предсказания текущего блока, в соответствии с иллюстративным вариантом осуществления.
[79] Как изображено на Фиг.11, если текущий блок является блоком 110 А, то режим внутрикадрового предсказания текущего блока 110 А может быть предсказан на основе режимов внутрикадрового предсказания, определенных на основе соседних блоков. К примеру, если определенный режим внутрикадрового предсказания, который определяется на основе левого блока 111 В текущего блока 110 А, является режимом 3, а режим внутрикадрового предсказания, который определяется на основе верхнего блока 112 С, является режимом 4, то режим внутрикадрового предсказания текущего блока 110 А может быть предсказан таким образом, чтобы он являлся режимом 3, имеющим меньшее значение из числа режимов предсказания верхнего блока 112 С и левого блока 111 В. Если режим внутрикадрового предсказания, определенный в результате фактического кодирования с использованием внутрикадрового предсказания, выполняемый применительно к текущему блоку 110 А, является режимом 4, то в качестве информации о режиме внутрикадрового предсказания передается только отличие 1 от режима 3, то есть значение режима внутрикадрового предсказания, предсказанного на основе соседних блоков В 111 и С 112. При декодировании изображения подобным способом генерируется значение предсказания режима внутрикадрового предсказания текущего блока, значение отличия режимов, переданное через битовый поток, добавляется к значению предсказания режима внутрикадрового предсказания, а также получают информацию о режиме внутрикадрового предсказания, фактически применяемом к текущему блоку. Несмотря на использование исключительно соседних блоков, расположенных на верхней и левой сторонах текущего блока, режим внутрикадрового предсказания текущего блока 110 А может быть предсказан посредством использования других соседних блоков, как изображено на Фиг.11Е и 11D.
[80] Между тем, поскольку фактически выполняемые режимы внутрикадрового предсказания меняются в зависимости от размера блока, режим внутрикадрового предсказания, предсказанный на основе соседних блоков, не может быть сопоставлен с режимом внутрикадрового предсказания текущего блока. Соответственно, для предсказания режима внутрикадрового предсказания текущего блока на основе соседних блоков, имеющих различные размеры, необходим процесс унифицированного преобразования режимов внутрикадрового предсказания блоков, имеющих различные режимы внутрикадрового предсказания.
[81] Фиг.12 и 13 изображают иллюстративные графические представления для разъяснения процесса преобразования для унификации режимов внутрикадрового предсказания блоков, имеющих различные размеры, в соответствии с иллюстративными вариантами осуществления.
[82] Как изображено на Фиг.12, предполагается, что текущий блок 120 А имеет размер 16×16, левый блок 121 В имеет размер 8×8, а верхний блок 122 С имеет размер 4×4. Кроме того, как показано в примере 1, изображенном на Фиг.2, предполагается, что количество доступных режимов внутрикадрового предсказания блоков, имеющих размеры 4×4, 8×8 и 16×16, равняется 9, 9 и 33. В данном случае, поскольку количество доступных режимов внутрикадрового предсказания левого блока 121 В и верхнего блока 122 С отличается от количества доступных режимов внутрикадрового предсказания текущего блока 120 А, режим внутрикадрового предсказания, предсказанный на основе левого блока 121 В и верхнего блока 122 С, не является подходящим для использования в качестве значения предсказания режима внутрикадрового предсказания текущего блока 120 А. Следовательно, на Фиг.12 режимы внутрикадрового предсказания соседнего блока 121 В и соседнего блока 122 С соответственно меняются на первый и второй типичные режимы внутрикадрового предсказания, имеющие наиболее схожее направление, из числа предварительно определенного количества типичных режимов внутрикадрового предсказания, как изображено на Фиг. 14, а режим, имеющий меньшее значение режима, выбирается на основе первого и второго типичных режимов внутрикадрового предсказания в качестве итогового типичного режима внутрикадрового предсказания. Режим внутрикадрового предсказания, имеющий наиболее схожее направление с итоговым типичным режимом внутрикадрового предсказания, выбранным из режимов внутрикадрового предсказания, которые являются доступными в зависимости от размера текущего блока 120 А, предсказывается в качестве режима внутрикадрового предсказания текущего блока 120 А.
[83] В альтернативном варианте, как изображено на Фиг.13, предполагается, что текущий блок 130 А имеет размер 16×16, левый блок 133 В имеет размер 32×32, а верхний блок 132 С имеет размер 8×8. Кроме того, как показано в примере 1, изображенном на Фиг.2, предполагается, что количество доступных режимов внутрикадрового предсказания блоков, имеющих размеры 8×8, 16×16, и 32×32, равняется 9, 9 и 32. Кроме того, предполагается, что режим внутрикадрового предсказания левого блока 133 В является режимом 4, а режим внутрикадрового предсказания верхнего блока 132 С является режимом 31. В данном случае, поскольку режимы внутрикадрового предсказания левого блока 133 В и верхнего блока 132 С являются несовместимыми друг с другом, каждый из режимов внутрикадрового предсказания левого блока 133 В и верхнего блока 132 С преобразовывается в один из типичных режимов внутрикадрового предсказания, как изображено на Фиг.14. Поскольку режим 31, который является режимом внутрикадрового предсказания левого блока 133 В, имеет направление (dx, dy)=(4, -3), как представлено в таблице 1, режим 31 преобразовывается в режим 5, имеющий наиболее схожее направление с tan-1(-3/4) из числа типичных режимов внутрикадрового предсказания, изображенных на Фиг.14, кроме того, поскольку режим 4 имеет направление, которое является схожим с направлением режима 4 из числа типичных режимов внутрикадрового предсказания, изображенных на Фиг.14, то режим 4, то есть, режим внутрикадрового предсказания верхнего блока 132 С, преобразовывается в режим 4.
[84] Затем режим 4, имеющий меньшее значение режима среди режима 5, который преобразовывается в режим внутрикадрового предсказания левого блока 133 В, и режима 4, который преобразовывается в режим внутрикадрового предсказания верхнего блока 132 С, может быть определен в качестве значения предсказания режима внутрикадрового предсказания текущего блока 130 А, и в качестве информации о режиме предсказания текущего блока 130 А может быть закодировано лишь только значение отличия режима между фактическим режимом внутрикадрового предсказания и предсказанным режимом внутрикадрового предсказания текущего блока 130 А.
[85] Фиг.14 изображает иллюстративное графическое представление для разъяснения процесса преобразования режимов внутрикадрового предсказания соседних блоков в один из типичных режимов внутрикадрового предсказания, в соответствии с иллюстративным вариантом осуществления. На Фиг.14 в качестве типичных режимов внутрикадрового предсказания задан режим 0 вертикального предсказания, режим 1 горизонтального предсказания, режим усредненного (DC) предсказания (не изображен), режим 3 диагонального предсказания вниз влево, режим 4 диагонального предсказания вниз вправо, режим 5 вертикального предсказания вправо, режим 6 горизонтального предсказания вниз, режим 7 вертикального предсказания влево и режим 8 горизонтального предсказания вверх. Однако типичные режимы внутрикадрового предсказания не ограничиваются этим, и могут быть заданы с различным количеством направлений.
[86] Как изображено на Фиг.14, заблаговременно задается предварительно определенное количество типичных режимов внутрикадрового предсказания, при этом режимы внутрикадрового предсказания соседних блоков преобразовываются в типичный режим внутрикадрового предсказания, имеющий наиболее сходное направление. К примеру, если определенный режим внутрикадрового предсказания соседнего блока является режимом 140 MODE_A внутрикадрового предсказания, имеющим направление, то режим 140 MODE_A внутрикадрового предсказания соседнего блока преобразовывается в режим MODE 1, имеющий наиболее сходное направление среди 9 заданных типичных режимов 1-9 внутрикадрового предсказания. Если определенный режим внутрикадрового предсказания соседнего блока является режимом 141 MODE_B внутрикадрового предсказания, имеющим направление, то режим 141 MODE_B внутрикадрового предсказания соседнего блока преобразовывается в режим MODE 5, имеющий наиболее сходное направление среди 9 заданных типичных режимов 1-9 внутрикадрового предсказания.
[87] Также, если доступные режимы внутрикадрового предсказания соседних блоков не являются аналогичными, то режимы внутрикадрового предсказания соседних блоков преобразовываются в типичные режимы внутрикадрового предсказания, при этом режим внутрикадрового предсказания, имеющий наименьшее значение режима, выбирается в качестве итогового типичного режима внутрикадрового предсказания соседних блоков из числа преобразованных режимов внутрикадрового предсказания соседних блоков. Соответственно, причина, по которой типичный режим внутрикадрового предсказания имеет меньшее значение режима, заключается в том, что меньшее значение режима задается для часто генерируемых режимов внутрикадрового предсказания. То есть, если на основе соседних блоков предсказываются различные режимы внутрикадрового предсказания, поскольку возможность возникновения режима внутрикадрового предсказания, имеющего меньшее значение режима, наиболее высока, при наличии различных режимов предсказания в качестве предиктора для режима предсказания текущего блока предпочтительно выбирать режим предсказания, имеющий меньшее значение режима.
[88] Иногда, несмотря на то, что типичный режим внутрикадрового предсказания выбирается на основе соседних блоков, типичный режим внутрикадрового предсказания не может быть использован в качестве типичного режима внутрикадрового предсказания в качестве предиктора для режима внутрикадрового предсказания текущего блока. К примеру, если текущий блок 120 А имеет 33 режима внутрикадрового предсказания, а типичный режим внутрикадрового предсказания имеет только 9 типичных режимов внутрикадрового предсказания, как было описано со ссылкой на Фиг.12, то режима внутрикадрового предсказания текущего блока 120 А, соответствующего типичному режиму внутрикадрового предсказания, попросту не существует. В данном случае, подобно преобразованию режимов внутрикадрового предсказания соседних блоков в типичный режим внутрикадрового предсказания, как было описано выше, режим внутрикадрового предсказания, имеющий направление, которое является наиболее сходным с направлением типичного режима внутрикадрового предсказания, выбранного из доступных режимов внутрикадрового предсказания в зависимости от размера текущего блока, может быть выбран в качестве итогового предиктора для режима внутрикадрового предсказания текущего блока. К примеру, если типичный режим внутрикадрового предсказания, который в конечном счете выбирается на основе соседних блоков, изображенных на Фиг.14, является режимом 6, то режим внутрикадрового предсказания, имеющий направление, которое является наиболее сходным с направлением режима 6 среди режимов внутрикадрового предсказания, доступных согласно размеру текущего блока, в конечном счете может быть выбран в качестве предиктора для режима внутрикадрового предсказания текущего блока.
[89] Между тем, как было описано выше со ссылкой на Фиг.7, если предиктор для текущего пиксела P формируется посредством использования соседних пикселов, находящихся на продолженной линии 700 или близко к ней, то продолженная линия 700 фактически имеет направление tan-1(dy/dx). Поскольку при использовании аппаратных или программных средств деление (dy/dx) является необходимым для вычисления направления, вычисление выполняется вплоть до десятичных разрядов, вследствие чего увеличивается объем вычислений. Соответственно, предпочтительно, чтобы, когда направление предсказания для выбора соседних пикселов с целью их использования в качестве опорных пикселов вокруг пиксела в блоке задается посредством использования параметров (dx, dy), подобно описанному со ссылкой на таблицу 1, параметры dx и dy задавались для сокращения объема вычислений.
[90] Фиг.15 изображает графическое представление для разъяснения взаимосвязи между текущим пикселом и соседними пикселами, расположенными на продолженной линии, имеющей направление (dx, dy), в соответствии с иллюстративным вариантом осуществления.
[91] Как изображено на Фиг.15, предполагается, что позиция текущего пиксела 1510 Р, расположенного в i-ой координате (i является целым числом) по верхней границе текущего блока, и в j-ой координате (j является целым числом) по левой границе текущего блока, является P(j, i), а верхний соседний пиксел и левый соседний пиксел, которые располагаются на продолженной линии, проходящей через текущий пиксел 1510 Р и имеющей направление, то есть угол наклона tan-1(dy/dx), являются соответственно пикселом 1520 А и пикселом 1530 В. Кроме того, если предполагается, что позиции верхних соседних пикселов соответствуют оси X на координатной плоскости, а позиции левых соседних пикселов соответствуют оси Y на координатной плоскости, то они определяются посредством использования тригонометрической функции, когда верхний соседний пиксел 1520 А, который пересекается с продолженной линией, располагается в позиции (j+i*dx/dy, 0), а левый соседний пиксел 1530 В, который пересекается с продолженной линией, располагается в позиции (0, i+j*dy/dx). Соответственно, для определения верхнего соседнего пиксела 1520 А и левого соседнего пиксела 1530 В для предсказания текущего пиксела 1510 Р требуется выполнение деления, такого как dx/dy или dy/dx. Поскольку деление является очень сложным, как было описано выше, скорость вычисления программных или аппаратных средств может быть снижена.
[92] Соответственно, значение, по меньшей мере, одного из параметров dx и dy, отражающих направление режима предсказания для определения соседних пикселов, используемых для внутрикадрового предсказания, может быть вычислено посредством возведения во вторую степень. То есть, когда n и m являются целыми числами, параметры dx и dy могут быть равны 2^n и 2^m, соответственно.
[93] Как изображено на Фиг.15, если левый соседний пиксел 1530 В используется в качестве предиктора для текущего пиксела 1510 Р, а параметр dx имеет значение 2^n, то j*dy/dx требуется для определения (0, i+j*dy/dx), то есть позиция левого соседнего пиксела 1530 В становится (i*dy)/(2^n), при этом деление, использующее такое возведение во вторую степень, легко осуществляется посредством операции сдвига (i*dy)>>n, вследствие чего сокращается объем вычислений.
[94] Подобным образом, если верхний соседний пиксел 1520 А используется в качестве предиктора для текущего пиксела 1510 Р, а параметр dy имеет значение 2^m, то i*dx/dy требуется для определения (j+i*dx/dy, 0), то есть позиция верхнего соседнего пиксела 1520 А становится (i*dx)/(2^m), при этом деление, использующее такое возведение во вторую степень, легко осуществляется посредством операции сдвига (i*dx)>>m.
[95] Фиг.16 изображает графическое представление для разъяснения изменения в соседнем пикселе, расположенном на продолженной линии, имеющей направление (dx, dy), согласно позиции текущего пиксела, в соответствии с иллюстративным вариантом осуществления.
[96] Один из верхнего соседнего пиксела и левого соседнего пиксела, расположенных на продолженной линии, проходящей через Текущий пиксел, выбирается в качестве соседнего пиксела, необходимого для предсказания, в соответствии с позицией текущего пиксела и углом наклона продолженной линии.
[97] Как изображено на Фиг.16, если текущий пиксел 1610 находится в позиции P(j, i) и предсказывается посредством использования соседнего пиксела, расположенного на продолженной линии, имеющей угол наклона, то для предсказания текущего пиксела 1610 Р используется верхний пиксел A. Если текущий пиксел 1620 находится в позиции Q(b, a), то для предсказания текущего пиксела 1620 Q используется левый пиксел В.
[98] Если только лишь компонент dy в направлении оси Y из числа параметров (dx, dy), отображающий направление предсказания, возводится во вторую степень, как 2^m, то верхний пиксел А, который изображен на Фиг.16, может быть определен посредством операции сдвига и т.п., как (j+(i*dx)>>m, 0) без деления, а левый пиксел В требует деления, как представлено в (0, a+b*2Am/dx). Соответственно, для исключения деления при формировании предиктора для всех пикселов текущего блока, все параметры dx и dy должны быть возведены во вторую степень.
[99] Фиг.17 и 18 изображают графические представления для разъяснения способа определения направления режима внутрикадрового предсказания, в соответствии с иллюстративными вариантами осуществления.
[100] В целом, существует много случаев, когда линейные шаблоны, представленные в графическом или видеосигнале, являются вертикальными или горизонтальными. Соответственно, когда режимы внутрикадрового предсказания, имеющие различные направления, определяются посредством использования параметров (dx, dy), эффективность кодирования изображения может быть повышена посредством определения значений параметров dx и dy. К примеру, абсолютные значения dx и dy задаются таким образом, чтобы расстояние между направлениями предсказания, близкими к горизонтальному или вертикальному направлению, являлось коротким, а расстояние между режимами предсказания, близкими к диагональному направлению, являлось длинным.
[101] Более подробно, как изображено на Фиг.17, если dy имеет постоянное значение 2^n, то абсолютное значение dx может быть задано таким образом, чтобы расстояние между направлениями предсказания, близкими к вертикальному направлению, являлось коротким, а расстояние между режимами предсказания, близкими к горизонтальному направлению, являлось более длинным. Другими словами абсолютное значение dx может быть задано таким образом, чтобы расстояние между направлениями предсказания, близкими к вертикальному направлению, являлось коротким, а расстояние между режимами предсказания, близкими к диагональному направлению (+45 или -45 градусов), являлось более длинным. То есть, если dy имеет постоянное значение, которое возведено во вторую степень, то расстояние может быть задано меньшим по мере приближения абсолютного значения dx к 0, чтобы расстояние сокращалось по мере приближения направления продолженной линии к вертикальному направлению, а также расстояние может быть задано большим по мере удаления абсолютного значения dx от 0, чтобы расстояние увеличивалось по мере приближения направления продолженной линии к горизонтальному направлению. К примеру, как изображено на Фиг.17, если dy имеет значение 2^4, то есть, 16, то значение dx может быть задано равным 1, 2, 3, 4, 6, 9, 12, 16, 0, -1, -2, -3, -4, -6, -9, -12 и -16, чтобы расстояние между продолженными линиями, близкими к вертикальному направлению, могло быть коротким, а расстояние между продолженными линиями, близкими к горизонтальному направлению, могло быть длинным.
[102] Подобным образом, если dx имеет постоянное значение 2^n, то абсолютное значение dy может быть задано таким образом, чтобы расстояние между направлениями предсказания, близкими к горизонтальному направлению, являлось коротким, а расстояние между режимами предсказания, близкими к вертикальному направлению, являлось более длинным. Другими словами, абсолютное значение dy может быть задано таким образом, чтобы расстояние между направлениями предсказания, близкими к горизонтальному направлению, являлось коротким, а расстояние между режимами предсказания, близкими к диагональному направлению (+45 или -45 градусов), являлось более длинным. То есть, если dx имеет постоянное значение, которое возведено во вторую степень, то расстояние может быть задано меньшим по мере приближения абсолютного значения dy к 0, чтобы расстояние сокращалось по мере приближения направления продолженной линии к горизонтальному направлению, а также расстояние может быть задано большим по мере удаления абсолютного значения dy от 0, чтобы что расстояние увеличивалось по мере приближения направления продолженной линии к горизонтальному направлению. К примеру, как изображено на Фиг.18, если dx имеет значение 2^4, то есть, 16, то значение dy может быть задано равным 1, 2, 3, 4, 6, 9, 12, 16, 0, -1, -2, -3, -4, -6, -9, -12 и -16, чтобы расстояние между продолженными линиями, близкими к горизонтальному направлению, могло быть коротким, а расстояние между продолженными линиями, близкими к вертикальному направлению, могло быть длинным.
[103] Кроме того, если значение любого из параметров dx и dy является постоянным, то значение другого оставшегося параметра может быть задано большим, в соответствии с режимом предсказания. Более подробно, если значение dy является постоянным, то расстояние между параметрами dx может быть задано большим на предварительно определенное значение. К примеру, если значение dy является постоянным и равняется 16, то значение dx может быть задано таким образом, чтобы разность абсолютных значений между различными параметрами dx увеличивалась на 1, как 0, 1, 3, 6 и 8. Кроме того, угол между горизонтальным направлением и вертикальным направлением может быть разделен на предварительно определенные элементы, и такая величина прироста может быть задана в каждом из разделенных углов. К примеру, если значение dy является постоянным, то значение dx может быть задано большим на величину «а» в секторе меньше 15 градусов, большим на величину «b» в секторе между 15 и 30 градусами, а также большим на величину «c» в секторе более 30 градусов. В данном случае для получения формы, которая изображена на Фиг.17, значение dx может быть задано таким образом, чтобы удовлетворять отношение а<b<c.
[104] Режимы предсказания, которые были описаны со ссылкой на Фиг.15-18, могут быть определены в качестве режима предсказания, имеющего направление tan-1(dy/dx), посредством использования параметров (dx, dy), как представлено в таблицах 2-4.
[105] | Таблица 2 | ||||
dx | dy | dx | dy | dx | dy |
-32 | 32 | 21 | 32 | 32 | 13 |
-26 | 32 | 26 | 32 | 32 | 17 |
-21 | 32 | 32 | 32 | 32 | 21 |
-17 | 32 | 32 | -26 | 32 | 26 |
-13 | 32 | 32 | -21 | 32 | 32 |
-9 | 32 | 32 | -17 | ||
-5 | 32 | 32 | -13 | ||
-2 | 32 | 32 | -9 | ||
0 | 32 | 32 | -5 | ||
2 | 32 | 32 | -2 | ||
5 | 32 | 32 | 0 | ||
9 | 32 | 32 | 2 | ||
13 | 32 | 32 | 5 | ||
17 | 32 | 32 | 9 |
[106] | Таблица 3 | ||||
dx | dy | dx | dy | dx | dy |
-32 | 32 | 19 | 32 | 32 | 10 |
-25 | 32 | 25 | 32 | 32 | 14 |
-19 | 32 | 32 | 32 | 32 | 19 |
-14 | 32 | 32 | -25 | 32 | 25 |
-10 | 32 | 32 | -19 | 32 | 32 |
-6 | 32 | 32 | -14 | ||
-3 | 32 | 32 | -10 |
-1 | 32 | 32 | -6 | ||
0 | 32 | 32 | -3 | ||
1 | 32 | 32 | -1 | ||
3 | 32 | 32 | 0 | ||
6 | 32 | 32 | 1 | ||
10 | 32 | 32 | 3 | ||
14 | 32 | 32 | 6 |
[107] | Таблица 4 | ||||
dx | dy | dx | dy | dx | dy |
-32 | 32 | 23 | 32 | 32 | 15 |
-27 | 32 | 27 | 32 | 32 | 19 |
-23 | 32 | 32 | 32 | 32 | 23 |
-19 | 32 | 32 | -27 | 32 | 27 |
-15 | 32 | 32 | -23 | 32 | 32 |
-11 | 32 | 32 | -19 | ||
-7 | 32 | 32 | -15 | ||
-3 | 32 | 32 | -11 | ||
0 | 32 | 32 | -7 | ||
3 | 32 | 32 | -3 | ||
7 | 32 | 32 | 0 | ||
11 | 32 | 32 | 3 | ||
15 | 32 | 32 | 7 | ||
19 | 32 | 32 | 11 |
[108] Как было описано выше со ссылкой на Фиг.15, позиция текущего пиксела P, расположенного в i-ой координате по верхней границе текущего блока и в j-ой координате по левой границе текущего блока, является P(j, i), а верхний соседний пиксел A и левый соседний пиксел В, расположенные на продолженной линии, проходящей через текущий пиксел P и имеющей угол наклона tan-1(dy/dx), располагаются на (j+i*dx/dy, 0) и (0, i+j*dy/dx), соответственно. Соответственно, при выполнении внутрикадрового предсказания посредством использования программных или аппаратных средств, требуется вычисление, такое как i*dx/dy или j*dy/dx.
[109] При необходимости вычисления, такого как i*dx/dy, доступные значения dx/dy или C*dx/dy, полученные посредством умножения предварительно определенной постоянной С, могут быть сохранены в таблице, а позиции соседних пикселов, используемых для внутрикадрового предсказания текущего пиксела, могут быть определены посредством использования значения, сохраненного в таблице, которая предварительно подготавливается в процессе фактического внутрикадрового предсказания. То есть, различные значения (dx, dy), определенные в соответствии с режимами предсказания, как представлено в таблице 1, а также доступные значения i*dx/dy, отражающие значение I, определенное в соответствии с размером блока, могут быть предварительно сохранены в таблице, а также могут быть использованы в процессе внутрикадрового предсказания. Более подробно, если C*dx/dy имеет N различных чисел значений, то N различных чисел значений C*dx/dy могут быть сохранены в качестве dyval_table[n] (n=0... целое число до N-1).
[110] Подобным образом, при необходимости вычисления, такого как j*dy/dx, доступные значения dy/dx или C*dy/dx, полученные посредством умножения предварительно определенной постоянной С, могут быть предварительно сохранены в таблице, а позиции соседних пикселов, используемых для внутрикадрового предсказания текущего пиксела, могут быть определены посредством использования значений, сохраненных в таблице, которая предварительно подготавливается в процессе фактического внутрикадрового предсказания. То есть, различные значения (dx, dy), определенные в соответствии с режимами предсказания, как представлено в таблице 1, а также доступные значения j*dy/dx, отражающие значения j, определенное в соответствии с размером блока, могут быть предварительно сохранены в таблице, а также могут быть использованы для внутрикадрового предсказания. Более подробно, если C*dy/dx имеет N различных чисел значений, то N различных чисел значений C*dy/dx могут быть сохранены в качестве dxval_table [n] (n=0... целое число до N-1).
[111] Также, после предварительного сохранения значений C*dx/dy или C*dy/dx в таблице, позиции пикселов соседнего блока, используемых для предсказания текущего пиксела, могут быть определены посредством использования значений, сохраненных в таблице, соответствующей i*dx/dy и j*dy/dx, без дополнительных вычислений.
[112] К примеру, предполагается, что для формирования режимов предсказания в форме, подобной изображенной на Фиг.17, значение dy должно равняться 32, значение dx должно равняться одному из следующих вариантов: 0, 2, 5, 9, 13, 17, 21, 26 и 32, а постоянная С должна иметь значение, равное 32. В данном случае, поскольку C*dy/dx является 32*32/dx и имеет одно из значений 0, 512, 205, 114, 79, 60, 49, 39 и 32, в соответствии со значением dx, значения 0, 512, 205, 114, 79, 60, 49, 39 и 32 могут быть сохранены в таблице, а также могут быть использованы для внутрикадрового предсказания.
[113] Фиг.19 изображает графическое представление алгоритма, иллюстрирующее способ кодирования изображения с использованием внутрикадрового предсказания, в соответствии с иллюстративным вариантом осуществления.
[114] Как изображено на Фиг.19, на этапе 1910 текущий кадр изображения делится, по меньшей мере, на один блок, имеющий предварительно определенный размер. Как было описано выше, текущий кадр изображения не ограничивается макроблоком, имеющим размер 16×16, он также может быть разделен на блоки, имеющие размеры 2×2, 4×4, 8×8, 16×16, 32×32, 64×64, 128×128 или более.
[115] На этапе 1920 пиксел соседнего блока, используемый для предсказания каждого из пикселов в текущем блоке, определяется из числа пикселов соседнего блока, которые предварительно восстанавливаются посредством использования продолженной линии, имеющей предварительно определенный угол наклона. Как было описано выше, позиция текущего пиксела P, расположенного в i-ой координате по верхней границе текущего блока и в j-ой координате по левой границе текущего блока, является P(j, i), а верхний соседний пиксел и левый соседний пиксел, расположенные на продолженной линии, проходящей через текущий пиксел P и имеющей угол наклона tan-1(dy/dx), располагаются на (j+i*dx/dy, 0) и (0, i+j*dy/dx), соответственно. Для сокращения объема вычислений dx/dy и dy/dx, требуемых для определения позиции соседнего пиксела, предпочтительно, чтобы значение, по меньшей мере, одного из параметров dx и dy, было возведено во вторую степень. Кроме того, если доступные значения dx/dy и dy/dx или значения, полученные посредством умножения значений dx/dy и dy/dx на предварительно определенную постоянную, были предварительно сохранены в таблице, то пиксел соседнего блока может быть определен посредством поиска соответствующих значений в таблице без дополнительных вычислений.
[116] На этапе 1930 каждый из пикселов в текущем блоке предсказывается посредством использования определенного пиксела соседнего блока. То есть, значение пиксела соседнего блока предсказывается в качестве значения пиксела текущего блока, а блок предсказания текущего блока формируется посредством неоднократного выполнения вышеупомянутых операций применительно к каждому из пикселов в текущем блоке.
[117] Фиг.20 изображает блок-схему, иллюстрирующую устройство 2000 декодирования изображения, в соответствии с иллюстративным вариантом осуществления.
[118] Как изображено на Фиг.20, устройство 2000 включает в себя блок 2010 разбора, блок 2020 энтропийного декодирования, блок 2030 обратного квантования, блок 2040 обратного преобразования частоты, блок 2050 внутрикадрового предсказания, блок 2060 компенсации движения, блок 2070 деблокинга и блок 2080 пространственной фильтрации. В данном случае блок 2050 внутрикадрового предсказания соответствует устройству декодирования изображения с использованием внутрикадрового предсказания.
[119] Битовый поток 2005 проходит через блок 2010 разбора, при этом извлекается информация о кодировании, необходимая для декодирования графических данных текущего блока, который предназначается для декодирования. Закодированные графические данные выводятся в качестве инверсно квантованных данных через блок 2020 энтропийного декодирования и блок 2030 обратного квантования, и восстанавливаются в качестве остаточных значений посредством блока 2040 обратного преобразования частоты.
[120] Блок 2060 компенсации движения и блок 2050 внутрикадрового предсказания формируют блок предсказания текущего блока посредством использования разобранной информации о кодировании текущего блока. В частности, блок 2050 внутрикадрового предсказания определяет пиксел соседнего блока, предназначенный для использования с целью предсказания каждого из пикселов в текущем блоке, из числа пикселов соседнего блока, которые предварительно восстанавливаются посредством использования продолженной линии, имеющей предварительно определенный угол наклона в соответствии с режимом внутрикадрового предсказания, включенного в битовый поток. Как было описано выше, для сокращения объема вычислений dx/dy и dy/dx, требуемых для определения позиции соседнего пиксела, предпочтительно, чтобы значение, по меньшей мере, одного из параметров dx и dy было возведено во вторую степень. Кроме того, блок 2050 внутрикадрового предсказания может предварительно сохранять доступные значения dx/dy и dy/dx или значения, полученные посредством умножения значений dx/dy и dy/dx на предварительно определенную постоянную, в таблице, определять пиксел соседнего блока посредством поиска соответствующих значений в таблице, и выполнять внутрикадровое предсказание посредством использования определенного пиксела соседнего блока.
[121] Блок предсказания, сформированный в блоке 2060 компенсации движения или блоке 2050 внутрикадрового предсказания, добавляется к остаточным значениям для восстановления текущего кадра 2095. Восстановленный текущий кадр может быть использован в качестве опорного кадра 2085 следующего блока посредством блока 2070 деблокинга и блока 2080 пространственной фильтрации.
[122] Фиг.21 изображает графическое представление алгоритма, иллюстрирующее способ декодирования изображения с использованием внутрикадрового предсказания, в соответствии с иллюстративным вариантом осуществления.
[123] Как изображено на Фиг.21, на этапе 2110 текущий кадр изображения делится, по меньшей мере, на один блок, имеющий предварительно определенный размер.
[124] На этапе 2120 из битового потока извлекается информация о режиме внутрикадрового предсказания, применяемом к текущему блоку, который предназначен для декодирования. Информация о режиме внутрикадрового предсказания может являться значением отличия режима между фактическим режимом внутрикадрового предсказания и предсказанным режимом внутрикадрового предсказания, предсказанным на основе соседних блоков текущего блока, или значениями режимов внутрикадрового предсказания, имеющих различные направления, определяемые посредством использования параметров (dx, dy), как было описано выше. Если значение отличия режима передается в качестве информации о режиме предсказания, то блок 2050 внутрикадрового предсказания может предсказать и определить предсказанный режим внутрикадрового предсказания текущего блока на основе режимов внутрикадрового предсказания соседних блоков, которые были предварительно декодированы, а также определить режим внутрикадрового предсказания текущего блока посредством добавления значения отличия режима, извлеченное из битового потока, к значению предсказанного режима внутрикадрового предсказания.
[125] На этапе 2130 блок 2050 внутрикадрового предсказания определяет пиксел соседнего блока, который предназначен для использования с целью предсказания каждого из пикселов в текущем блоке из числа пикселов соседнего блока, которые предварительно восстанавливаются посредством использования продолженной линии, имеющей предварительно определенный угол наклона в соответствии с извлеченным режимом предсказания. Как было описано выше, позиция текущего пиксела P, расположенного в i-ой координате по верхней границе текущего блока и в j-ой координате по левой границе текущего блока, является P(j, i), а верхний соседний пиксел и левый соседний пиксел, расположенные на продолженной линии, проходящей через текущий пиксел P и имеющей угол наклона tan-1(dy/dx), располагаются на (j+i*dx/dy, 0) и (0, i+j*dy/dx), соответственно. Для сокращения объема вычислений dx/dy и dy/dx, требуемых для определения позиции соседнего пиксела, предпочтительно, чтобы значение, по меньшей мере, одного из параметров dx и dy было возведено во вторую степень. Кроме того, доступные значения dx/dy и dy/dx или значения, полученные посредством умножения значений dx/dy и dy/dx на предварительно определенную постоянную могут быть предварительно сохранены в таблице, а пиксел соседнего блока может быть определен посредством поиска соответствующих значений в таблице. Блок 2050 внутрикадрового предсказания предсказывает значение пиксела определенного соседнего блока в качестве значения пиксела текущего блока, а блок предсказания текущего блока формируется посредством неоднократного выполнения вышеупомянутых операций применительно к каждому из пикселов в текущем блоке.
[126] Иллюстративные варианты осуществления могут быть реализованы в качестве компьютерных программ, а также могут быть реализованы в универсальных компьютерах, которые выполняют программы посредством использования машиночитаемой среды записи. Примеры машиночитаемой среды записи включают в себя магнитные среды записи (к примеру, память ROM, дискеты, жесткие диски и т.д.) и оптические среды записи (к примеру, диск CD-ROM или диск DVD).
[127] Устройства, кодеры и декодеры иллюстративных вариантов осуществления могут включать в себя шину, соединенную с каждым блоком устройства, по меньшей мере, один процессор (к примеру, центральный процессор, микропроцессор и т.д.), который соединяется с шиной для управления работой устройств для реализации вышеописанных функций и выполнения команд, и память, соединенную с шиной для сохранения команд, принятых и сгенерированных сообщений.
[128] Хотя настоящее изобретение подробно представлено и описано со ссылкой на предпочтительные варианты осуществления, специалистам в данной области техники должно быть понятно, что в форме и деталях изобретения могут быть реализованы различные изменения, не отступая от сущности и объема изобретения, как определяется посредством приложенной формулы изобретения. Предпочтительные варианты осуществления следует рассматривать исключительно в описательном смысле, а не в целях ограничения. Исходя из вышесказанного, объем изобретения определяется не посредством подробного описания изобретения, а посредством приложенной формулы изобретения, и все различия в пределах объема будут рассматриваться в качестве включенных в настоящее изобретение.
Claims (9)
1. Устройство для кодирования изображения с использованием внутрикадрового предсказания, причем устройство содержит:
блок определения режима внутрикадрового предсказания, который определяет режим внутрикадрового предсказания текущего блока, подлежащего кодированию, причем режим внутрикадрового предсказания указывает определенное направление из множества направлений, при этом определенное направление указывается посредством одного из числа dx в горизонтальном направлении и постоянного числа в вертикальном направлении и числа dy в вертикальном направлении и постоянного числа в горизонтальном направлении; и
блок выполнения внутрикадрового предсказания, который выполняет внутрикадровое предсказание применительно к текущему блоку в соответствии с режимом внутрикадрового предсказания,
причем блок определения режима внутрикадрового предсказания и блок выполнения внутрикадрового предсказания реализованы посредством по меньшей мере одного процессора,
причем внутрикадровое предсказание содержит этап, на котором
определяют позицию соседних пикселов посредством операции сдвига на основе позиции текущего пиксела и одного из параметров dx и dy, указывающих определенное направление, причем соседние пикселы расположены на левой стороне текущего блока или на верхней стороне текущего блока.
блок определения режима внутрикадрового предсказания, который определяет режим внутрикадрового предсказания текущего блока, подлежащего кодированию, причем режим внутрикадрового предсказания указывает определенное направление из множества направлений, при этом определенное направление указывается посредством одного из числа dx в горизонтальном направлении и постоянного числа в вертикальном направлении и числа dy в вертикальном направлении и постоянного числа в горизонтальном направлении; и
блок выполнения внутрикадрового предсказания, который выполняет внутрикадровое предсказание применительно к текущему блоку в соответствии с режимом внутрикадрового предсказания,
причем блок определения режима внутрикадрового предсказания и блок выполнения внутрикадрового предсказания реализованы посредством по меньшей мере одного процессора,
причем внутрикадровое предсказание содержит этап, на котором
определяют позицию соседних пикселов посредством операции сдвига на основе позиции текущего пиксела и одного из параметров dx и dy, указывающих определенное направление, причем соседние пикселы расположены на левой стороне текущего блока или на верхней стороне текущего блока.
2. Устройство по п. 1, в котором определенное направление указывается посредством угла, равного tan-1(dy/dx), dx и dy являются целыми числами, а значение по меньшей мере одного из параметров dx и dy является степенью двух.
3. Способ декодирования изображения с использованием внутрикадрового предсказания, содержащий этапы, на которых:
извлекают из битового потока режим внутрикадрового предсказания текущего блока, причем режим внутрикадрового предсказания указывает определенное направление из множества направлений, при этом определенное направление указывается посредством одного из числа dx в горизонтальном направлении и постоянного числа в вертикальном направлении и числа dy в вертикальном направлении и постоянного числа в горизонтальном направлении; и
выполняют внутрикадровое предсказание применительно к текущему блоку в соответствии с режимом внутрикадрового предсказания,
причем внутрикадровое предсказание содержит этап, на котором
определяют позицию соседних пикселов посредством операции сдвига на основе позиции текущего пиксела и одного из параметров dx и dy, указывающих определенное направление, причем соседние пикселы расположены на левой стороне текущего блока или на верхней стороне текущего блока.
извлекают из битового потока режим внутрикадрового предсказания текущего блока, причем режим внутрикадрового предсказания указывает определенное направление из множества направлений, при этом определенное направление указывается посредством одного из числа dx в горизонтальном направлении и постоянного числа в вертикальном направлении и числа dy в вертикальном направлении и постоянного числа в горизонтальном направлении; и
выполняют внутрикадровое предсказание применительно к текущему блоку в соответствии с режимом внутрикадрового предсказания,
причем внутрикадровое предсказание содержит этап, на котором
определяют позицию соседних пикселов посредством операции сдвига на основе позиции текущего пиксела и одного из параметров dx и dy, указывающих определенное направление, причем соседние пикселы расположены на левой стороне текущего блока или на верхней стороне текущего блока.
4. Способ по п. 3, в котором определенное направление указывается посредством угла, равного tan-1(dy/dx), dx и dy являются целыми числами, а значение, по меньшей мере, одного из параметров dx и dy является степенью двух.
5. Способ по п. 3, в котором определенное направление указывается посредством угла, равного tan-1(dy/dx) (dx и dy являются целыми числами), а абсолютные значения dx и dy задаются таким образом, чтобы расстояние между направлениями предсказания, близкими к горизонтальному направлению или вертикальному направлению, являлось коротким, а расстояние между режимами предсказания, близкими к диагональному направлению, являлось длинным.
6. Способ по п. 5, в котором определенное направление указывается посредством угла, равного tan-1(dy/dx) (dx и dy являются целыми числами), a dy имеет постоянное значение, которое является степенью двух, расстояние между продолженными линиями сокращается по мере приближения абсолютного значения dx к 0 так, что расстояние между продолженными линиями сокращается по мере приближения направления определенной продолженной линии, определенной в соответствии со значениями dx и dy, к вертикальному направлению, а расстояние между продолженными линиями увеличивается по мере удаления абсолютного значения dx от 0 так, что расстояние между продолженными линиями увеличивается по мере приближения направления определенной продолженной линии к горизонтальному направлению.
7. Способ по п. 5, в котором определенное направление указывается посредством угла, равного tan-1(dy/dx) (dx и dy являются целыми числами), a dx имеет постоянное значение, которое является степенью двух, причем расстояние между продолженными линиями сокращается по мере приближения абсолютного значения dy к 0 так, что расстояние между продолженными линиями сокращается по мере приближения направления определенной продолженной линии, определенной в соответствии со значениями dx и dy, к горизонтальному направлению, а расстояние между продолженными линиями увеличивается по мере удаления абсолютного значения dy от 0 так, что расстояние между продолженными линиями увеличивается по мере приближения направления определенной продолженной линии к вертикальному направлению.
8. Способ по п. 3, причем определенное направление указывается посредством угла, равного tan-1(dy/dx) (dx и dy являются целыми числами), а пиксел, расположенный в i-й координате (i является целым числом), базируемой на верхней границе, по меньшей мере, одного блока, и в j-й координате (j является целым числом), базируемой на левой границе, по меньшей мере, одного блока, находится в позиции (j, i), причем верхний соседний пиксел и левый соседний пиксел, находящиеся близко к продолженной линии вблизи пиксела (j, i), располагаются в (j+i*dx/dy, 0) и (0, i+j*dy/dx) соответственно.
9. Способ по п. 8, в котором в режиме внутрикадрового предсказания доступные значения С*(dx/dy), C является постоянной, сохраняются, а позиции верхнего соседнего пиксела и левого соседнего пиксела определяются посредством использования сохраненных значений.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US36498610P | 2010-07-16 | 2010-07-16 | |
US61/364,986 | 2010-07-16 | ||
KR1020100097424A KR101530284B1 (ko) | 2010-07-16 | 2010-10-06 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
KR10-2010-0097424 | 2010-10-06 | ||
PCT/KR2011/005214 WO2012008790A2 (en) | 2010-07-16 | 2011-07-15 | Method and apparatus for encoding and decoding image through intra prediction |
Related Child Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015120322A Division RU2621008C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
RU2015120341A Division RU2607233C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
RU2015120335/08A Division RU2597484C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
RU2015120337/08A Division RU2579989C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2013106810A RU2013106810A (ru) | 2014-10-20 |
RU2555236C2 true RU2555236C2 (ru) | 2015-07-10 |
Family
ID=45613437
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015120335/08A RU2597484C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
RU2015120322A RU2621008C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
RU2015120341A RU2607233C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
RU2013106810/08A RU2555236C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
RU2015120337/08A RU2579989C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015120335/08A RU2597484C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
RU2015120322A RU2621008C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
RU2015120341A RU2607233C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015120337/08A RU2579989C2 (ru) | 2010-07-16 | 2011-07-15 | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания |
Country Status (30)
Country | Link |
---|---|
US (6) | US9083987B2 (ru) |
EP (4) | EP3462737B1 (ru) |
JP (5) | JP6067556B2 (ru) |
KR (7) | KR101530284B1 (ru) |
CN (8) | CN104967852B (ru) |
AU (3) | AU2011277214B2 (ru) |
BR (5) | BR112013001093B1 (ru) |
CA (6) | CA3001241C (ru) |
CY (3) | CY1119640T1 (ru) |
DK (4) | DK3282705T3 (ru) |
ES (4) | ES2646173T3 (ru) |
HR (3) | HRP20171673T1 (ru) |
HU (4) | HUE043675T2 (ru) |
IL (5) | IL224195A (ru) |
LT (3) | LT3282705T (ru) |
MX (1) | MX2013000653A (ru) |
MY (5) | MY178314A (ru) |
NO (1) | NO2594075T3 (ru) |
NZ (5) | NZ705192A (ru) |
PH (4) | PH12015500305B1 (ru) |
PL (4) | PL3280145T3 (ru) |
PT (3) | PT3282705T (ru) |
RS (3) | RS58200B1 (ru) |
RU (5) | RU2597484C2 (ru) |
SG (5) | SG10201804324YA (ru) |
SI (3) | SI3282705T1 (ru) |
TR (2) | TR201900362T4 (ru) |
TW (4) | TWI540885B (ru) |
WO (1) | WO2012008790A2 (ru) |
ZA (1) | ZA201300581B (ru) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8867854B2 (en) * | 2008-10-01 | 2014-10-21 | Electronics And Telecommunications Research Institute | Image encoder and decoder using undirectional prediction |
KR101452860B1 (ko) | 2009-08-17 | 2014-10-23 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
US9532059B2 (en) | 2010-10-05 | 2016-12-27 | Google Technology Holdings LLC | Method and apparatus for spatial scalability for video coding |
ES2682102T3 (es) | 2010-12-21 | 2018-09-18 | Ntt Docomo, Inc. | Codificación y descodificación de intra-predicción en un modo plano |
KR20120103517A (ko) * | 2011-03-10 | 2012-09-19 | 한국전자통신연구원 | 인트라 예측 방법 및 그 장치 |
CN103220506B (zh) | 2012-01-19 | 2015-11-25 | 华为技术有限公司 | 一种编解码方法和设备 |
US9094681B1 (en) | 2012-02-28 | 2015-07-28 | Google Inc. | Adaptive segmentation |
US9185429B1 (en) | 2012-04-30 | 2015-11-10 | Google Inc. | Video encoding and decoding using un-equal error protection |
US9781447B1 (en) | 2012-06-21 | 2017-10-03 | Google Inc. | Correlation based inter-plane prediction encoding and decoding |
US9332276B1 (en) | 2012-08-09 | 2016-05-03 | Google Inc. | Variable-sized super block based direct prediction mode |
US9167268B1 (en) | 2012-08-09 | 2015-10-20 | Google Inc. | Second-order orthogonal spatial intra prediction |
US9344742B2 (en) | 2012-08-10 | 2016-05-17 | Google Inc. | Transform-domain intra prediction |
US9380298B1 (en) | 2012-08-10 | 2016-06-28 | Google Inc. | Object-based intra-prediction |
US9826229B2 (en) | 2012-09-29 | 2017-11-21 | Google Technology Holdings LLC | Scan pattern determination from base layer pixel information for scalable extension |
US9681128B1 (en) | 2013-01-31 | 2017-06-13 | Google Inc. | Adaptive pre-transform scanning patterns for video and image compression |
US9247251B1 (en) * | 2013-07-26 | 2016-01-26 | Google Inc. | Right-edge extension for quad-tree intra-prediction |
JP6614472B2 (ja) | 2013-09-30 | 2019-12-04 | サン パテント トラスト | 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置 |
US10057587B2 (en) * | 2015-01-31 | 2018-08-21 | Qualcomm Incorporated | Coding escape pixels for palette mode coding |
CN109196593B (zh) * | 2016-01-22 | 2021-10-19 | 欧特雷瑟斯有限公司 | 用于改善疾病诊断的系统和方法 |
WO2017142327A1 (ko) * | 2016-02-16 | 2017-08-24 | 삼성전자 주식회사 | 인트라 예측오차의 감소를 위한 인트라 예측 방법 및 그 장치 |
CN109155851A (zh) | 2016-05-02 | 2019-01-04 | 汉阳大学校产学协力团 | 利用画面内预测的影像编码、解码方法及装置 |
GB2550579A (en) * | 2016-05-23 | 2017-11-29 | Sony Corp | Image data encoding and decoding |
US10405054B2 (en) * | 2016-08-17 | 2019-09-03 | Nuovo Solutions Llc | System and method of remotely determining QoE |
CN107786874A (zh) * | 2016-08-24 | 2018-03-09 | 浙江大学 | 双向的帧内方向性预测方法和装置 |
WO2018066863A1 (ko) * | 2016-10-04 | 2018-04-12 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
EP3528497A4 (en) * | 2016-10-14 | 2020-07-22 | Industry-Academia Cooperation Foundation of Sejong University | IMAGE CODING AND DECODING PROCESS AND DEVICE |
WO2019009749A1 (en) * | 2017-07-05 | 2019-01-10 | Huawei Technologies Co., Ltd | APPARATUS AND METHOD FOR INTRA DIRECTIONAL PREDICTION USING AN ADJUSTMENT PLAN AND A PLURALITY OF PRIMARY REFERENCE SAMPLES AND A PLURALITY OF SECONDARY REFERENCE SAMPLES |
CN118413666A (zh) * | 2017-11-28 | 2024-07-30 | Lx 半导体科技有限公司 | 图像编码/解码方法、图像数据的传输方法和存储介质 |
CN107995494B (zh) * | 2017-12-12 | 2019-11-22 | 珠海全志科技股份有限公司 | 视频图像数据的压缩方法与解压方法、计算机装置、计算机可读存储介质 |
CN109922329B (zh) * | 2017-12-13 | 2021-02-26 | 北京传送科技有限公司 | 虚拟现实影像数据的压缩方法、解压缩方法及装置 |
GB2577056B (en) * | 2018-09-11 | 2022-12-14 | British Broadcasting Corp | Bitstream decoder |
CN110072112B (zh) * | 2019-03-12 | 2023-05-12 | 浙江大华技术股份有限公司 | 帧内预测方法、编码器及存储装置 |
WO2021168817A1 (zh) * | 2020-02-28 | 2021-09-02 | 深圳市大疆创新科技有限公司 | 视频处理的方法及装置 |
KR102297479B1 (ko) | 2020-04-10 | 2021-09-03 | 삼성전자주식회사 | 움직임 벡터의 부호화 장치 및 방법, 및 움직임 벡터의 복호화 장치 및 방법 |
CN112087634B (zh) * | 2020-08-11 | 2022-03-08 | 北京博雅慧视智能技术研究院有限公司 | 一种最佳角度判定方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2386222C2 (ru) * | 2005-10-19 | 2010-04-10 | Нтт Докомо, Инк. | Устройство для кодирования изображений с предсказанием, устройство для декодирования изображений с предсказанием, способ кодирования изображений с предсказанием, способ декодирования изображений с предсказанием, программа для кодирования изображений с предсказанием и программа для декодирования изображений c предсказанием |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
RU2314656C2 (ru) * | 2002-06-11 | 2008-01-10 | Нокиа Корпорейшн | Внутреннее кодирование, основанное на пространственном прогнозировании |
KR100886191B1 (ko) * | 2004-12-06 | 2009-02-27 | 엘지전자 주식회사 | 영상 블록을 디코딩 하는 방법 |
WO2006070614A1 (ja) | 2004-12-28 | 2006-07-06 | Nec Corporation | 画像符号化装置、画像符号化方法及びそのプログラム |
JP2006246431A (ja) | 2005-02-07 | 2006-09-14 | Matsushita Electric Ind Co Ltd | 画像符号化装置および画像符号化方法 |
US8948246B2 (en) * | 2005-04-11 | 2015-02-03 | Broadcom Corporation | Method and system for spatial prediction in a video encoder |
JP4114885B2 (ja) | 2005-10-31 | 2008-07-09 | 松下電器産業株式会社 | 画像符号化装置、方法、及びプログラム |
KR100750145B1 (ko) * | 2005-12-12 | 2007-08-21 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
KR101246294B1 (ko) | 2006-03-03 | 2013-03-21 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
KR100745765B1 (ko) * | 2006-04-13 | 2007-08-02 | 삼성전자주식회사 | 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법 |
BRPI0621935A2 (pt) * | 2006-07-28 | 2016-09-13 | Toshiba Kk Toshiba Corp | método e aparelho para codificar e decodificar imagem |
CN100413344C (zh) * | 2006-10-20 | 2008-08-20 | 清华大学 | 高并行度的帧内预测器的实现方法 |
FR2908007A1 (fr) * | 2006-10-31 | 2008-05-02 | Thomson Licensing Sas | Procede de codage d'une sequence d'images |
EP2090112A4 (en) * | 2006-11-07 | 2014-04-23 | Samsung Electronics Co Ltd | METHOD AND DEVICE FOR ENCODING AND DECODING BASED ON INTRA PREDICTION |
WO2008084817A1 (ja) * | 2007-01-09 | 2008-07-17 | Kabushiki Kaisha Toshiba | 画像符号化と復号化の方法及び装置 |
JP5026092B2 (ja) | 2007-01-12 | 2012-09-12 | 三菱電機株式会社 | 動画像復号装置および動画像復号方法 |
KR101370286B1 (ko) | 2007-04-06 | 2014-03-06 | 삼성전자주식회사 | 레지듀얼 블록의 변형을 이용한 영상 부호화, 복호화 방법및 장치 |
KR101362757B1 (ko) | 2007-06-11 | 2014-02-14 | 삼성전자주식회사 | 인터 컬러 보상을 이용한 영상의 부호화 방법 및 장치,복호화 방법 및 장치 |
KR101378338B1 (ko) * | 2007-06-14 | 2014-03-28 | 삼성전자주식회사 | 영상 복구를 이용한 인트라 예측 부호화, 복호화 방법 및장치 |
RU2479940C2 (ru) | 2007-10-15 | 2013-04-20 | Ниппон Телеграф Энд Телефон Корпорейшн | Устройство кодирования и декодирования изображения, способы кодирования и декодирования изображения, их программы и носитель записи, записанный программами |
KR101375664B1 (ko) * | 2007-10-29 | 2014-03-20 | 삼성전자주식회사 | 영상의 디퓨전 특성을 이용한 영상 부호화/복호화 방법 및장치 |
CN101163249B (zh) * | 2007-11-20 | 2010-07-21 | 北京工业大学 | 直流模式预测方法 |
EP2081386A1 (en) * | 2008-01-18 | 2009-07-22 | Panasonic Corporation | High precision edge prediction for intracoding |
TWI375472B (en) * | 2008-02-04 | 2012-10-21 | Ind Tech Res Inst | Intra prediction method for luma block of video |
EP2101504B1 (en) * | 2008-03-09 | 2012-07-25 | LG Electronics Inc. | Video coding using template matching |
JP2009284275A (ja) * | 2008-05-23 | 2009-12-03 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラムおよびそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
KR101517768B1 (ko) * | 2008-07-02 | 2015-05-06 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
KR101559763B1 (ko) * | 2008-07-02 | 2015-10-13 | 삼성전자주식회사 | 비트 위치에 기초한 영상 분리를 이용한 영상 부호화, 복호화 방법 및 장치 |
TWI359617B (en) | 2008-07-03 | 2012-03-01 | Univ Nat Taiwan | Low-complexity and high-quality error concealment |
US8311112B2 (en) * | 2008-12-31 | 2012-11-13 | Entropic Communications, Inc. | System and method for video compression using predictive coding |
CN101600116A (zh) * | 2009-03-11 | 2009-12-09 | 北京中星微电子有限公司 | 一种帧内预测方法及装置 |
KR101452860B1 (ko) | 2009-08-17 | 2014-10-23 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
KR101510108B1 (ko) | 2009-08-17 | 2015-04-10 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
CN104811717B (zh) * | 2009-12-01 | 2018-09-14 | 数码士有限公司 | 用于编码/解码高分辨率图像的方法和设备 |
JP5222878B2 (ja) * | 2010-03-24 | 2013-06-26 | 日本放送協会 | イントラ予測装置、符号化器、復号器及びプログラム |
KR101503269B1 (ko) * | 2010-04-05 | 2015-03-17 | 삼성전자주식회사 | 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치 |
US8644375B2 (en) * | 2010-04-09 | 2014-02-04 | Sharp Laboratories Of America, Inc. | Methods and systems for intra prediction |
PL3232666T3 (pl) * | 2010-07-14 | 2019-08-30 | Ntt Docomo, Inc. | Predykcja wewnątrzramkowa o niskiej złożoności dla kodowania wideo |
-
2010
- 2010-10-06 KR KR1020100097424A patent/KR101530284B1/ko active IP Right Grant
-
2011
- 2011-07-15 MY MYPI2015000533A patent/MY178314A/en unknown
- 2011-07-15 CN CN201510293915.0A patent/CN104967852B/zh active Active
- 2011-07-15 PT PT17192220T patent/PT3282705T/pt unknown
- 2011-07-15 ES ES11807075.4T patent/ES2646173T3/es active Active
- 2011-07-15 PL PL17192209T patent/PL3280145T3/pl unknown
- 2011-07-15 CN CN201711348673.6A patent/CN107959856B/zh active Active
- 2011-07-15 ES ES17192220T patent/ES2708834T3/es active Active
- 2011-07-15 RU RU2015120335/08A patent/RU2597484C2/ru active
- 2011-07-15 MY MYPI2015000535A patent/MY178168A/en unknown
- 2011-07-15 BR BR112013001093-2A patent/BR112013001093B1/pt active IP Right Grant
- 2011-07-15 ES ES18207477T patent/ES2781786T3/es active Active
- 2011-07-15 SG SG10201804324YA patent/SG10201804324YA/en unknown
- 2011-07-15 WO PCT/KR2011/005214 patent/WO2012008790A2/en active Application Filing
- 2011-07-15 AU AU2011277214A patent/AU2011277214B2/en active Active
- 2011-07-15 RU RU2015120322A patent/RU2621008C2/ru active
- 2011-07-15 CN CN201180044566.9A patent/CN103119945B/zh active Active
- 2011-07-15 PL PL11807075T patent/PL2594075T3/pl unknown
- 2011-07-15 BR BR122021006834-8A patent/BR122021006834B1/pt active IP Right Grant
- 2011-07-15 RU RU2015120341A patent/RU2607233C2/ru active
- 2011-07-15 TW TW100125148A patent/TWI540885B/zh active
- 2011-07-15 SG SG10201800097YA patent/SG10201800097YA/en unknown
- 2011-07-15 TW TW107103164A patent/TWI664856B/zh active
- 2011-07-15 PL PL17192220T patent/PL3282705T3/pl unknown
- 2011-07-15 RS RS20190011A patent/RS58200B1/sr unknown
- 2011-07-15 NO NO11807075A patent/NO2594075T3/no unknown
- 2011-07-15 MX MX2013000653A patent/MX2013000653A/es active IP Right Grant
- 2011-07-15 SI SI201131647T patent/SI3282705T1/sl unknown
- 2011-07-15 CA CA3001241A patent/CA3001241C/en active Active
- 2011-07-15 JP JP2013519606A patent/JP6067556B2/ja active Active
- 2011-07-15 RS RS20171116A patent/RS56474B1/sr unknown
- 2011-07-15 MY MYPI2015000534A patent/MY177339A/en unknown
- 2011-07-15 EP EP18207477.3A patent/EP3462737B1/en active Active
- 2011-07-15 CN CN201510292303.XA patent/CN104994386B/zh active Active
- 2011-07-15 SG SG2013078985A patent/SG195596A1/en unknown
- 2011-07-15 PT PT118070754T patent/PT2594075T/pt unknown
- 2011-07-15 CN CN201510292286.XA patent/CN105049857B/zh active Active
- 2011-07-15 SI SI201131337T patent/SI2594075T1/sl unknown
- 2011-07-15 CA CA2891777A patent/CA2891777C/en active Active
- 2011-07-15 LT LTEP17192220.6T patent/LT3282705T/lt unknown
- 2011-07-15 HU HUE17192209A patent/HUE043675T2/hu unknown
- 2011-07-15 CA CA2892121A patent/CA2892121C/en active Active
- 2011-07-15 CN CN201510292445.6A patent/CN104980748B/zh active Active
- 2011-07-15 CA CA2891843A patent/CA2891843C/en active Active
- 2011-07-15 EP EP17192209.9A patent/EP3280145B1/en active Active
- 2011-07-15 US US13/184,096 patent/US9083987B2/en active Active
- 2011-07-15 RU RU2013106810/08A patent/RU2555236C2/ru active
- 2011-07-15 MY MYPI2015000532A patent/MY177337A/en unknown
- 2011-07-15 MY MYPI2013000136A patent/MY160172A/en unknown
- 2011-07-15 LT LTEP17192209.9T patent/LT3280145T/lt unknown
- 2011-07-15 SG SG2013002621A patent/SG187055A1/en unknown
- 2011-07-15 PL PL18207477T patent/PL3462737T3/pl unknown
- 2011-07-15 CN CN201811376393.0A patent/CN109309832B/zh active Active
- 2011-07-15 TR TR2019/00362T patent/TR201900362T4/tr unknown
- 2011-07-15 HU HUE11807075A patent/HUE037744T2/hu unknown
- 2011-07-15 NZ NZ705192A patent/NZ705192A/en unknown
- 2011-07-15 SG SG10201705244PA patent/SG10201705244PA/en unknown
- 2011-07-15 CN CN201510292494.XA patent/CN105049858B/zh active Active
- 2011-07-15 DK DK17192220.6T patent/DK3282705T3/en active
- 2011-07-15 TW TW106136849A patent/TWI619382B/zh active
- 2011-07-15 SI SI201131646T patent/SI3280145T1/sl unknown
- 2011-07-15 TW TW105115637A patent/TWI607651B/zh active
- 2011-07-15 HU HUE18207477A patent/HUE051090T2/hu unknown
- 2011-07-15 LT LTEP11807075.4T patent/LT2594075T/lt unknown
- 2011-07-15 NZ NZ705190A patent/NZ705190A/en unknown
- 2011-07-15 DK DK11807075.4T patent/DK2594075T3/da active
- 2011-07-15 DK DK17192209.9T patent/DK3280145T3/en active
- 2011-07-15 HU HUE17192220A patent/HUE043982T2/hu unknown
- 2011-07-15 CA CA2805230A patent/CA2805230C/en active Active
- 2011-07-15 EP EP11807075.4A patent/EP2594075B1/en active Active
- 2011-07-15 NZ NZ705185A patent/NZ705185A/en unknown
- 2011-07-15 NZ NZ606080A patent/NZ606080A/en unknown
- 2011-07-15 PT PT17192209T patent/PT3280145T/pt unknown
- 2011-07-15 RU RU2015120337/08A patent/RU2579989C2/ru active
- 2011-07-15 CA CA2891774A patent/CA2891774C/en active Active
- 2011-07-15 BR BR122020013770-3A patent/BR122020013770B1/pt active IP Right Grant
- 2011-07-15 BR BR122021006833-0A patent/BR122021006833B1/pt active IP Right Grant
- 2011-07-15 DK DK18207477.3T patent/DK3462737T3/da active
- 2011-07-15 NZ NZ705187A patent/NZ705187A/en unknown
- 2011-07-15 EP EP17192220.6A patent/EP3282705B1/en active Active
- 2011-07-15 ES ES17192209T patent/ES2708833T3/es active Active
- 2011-07-15 TR TR2019/00358T patent/TR201900358T4/tr unknown
- 2011-07-15 BR BR122020013768-1A patent/BR122020013768B1/pt active IP Right Grant
- 2011-07-15 RS RS20190010A patent/RS58199B1/sr unknown
-
2013
- 2013-01-13 IL IL224195A patent/IL224195A/en active IP Right Grant
- 2013-01-22 ZA ZA2013/00581A patent/ZA201300581B/en unknown
-
2014
- 2014-10-29 KR KR1020140148751A patent/KR101712104B1/ko active IP Right Grant
-
2015
- 2015-02-06 US US14/616,383 patent/US9654795B2/en active Active
- 2015-02-11 PH PH12015500305A patent/PH12015500305B1/en unknown
- 2015-02-11 PH PH12015500302A patent/PH12015500302A1/en unknown
- 2015-02-11 PH PH12015500304A patent/PH12015500304A1/en unknown
- 2015-02-11 PH PH12015500303A patent/PH12015500303B1/en unknown
- 2015-02-20 US US14/627,765 patent/US9654796B2/en active Active
- 2015-02-20 US US14/627,669 patent/US9661344B2/en active Active
- 2015-02-20 US US14/627,810 patent/US9654797B2/en active Active
- 2015-05-18 AU AU2015202671A patent/AU2015202671B2/en active Active
- 2015-05-18 AU AU2015202669A patent/AU2015202669B2/en active Active
- 2015-07-23 KR KR1020150104341A patent/KR101712107B1/ko active IP Right Grant
- 2015-07-23 KR KR1020150104339A patent/KR101712105B1/ko active IP Right Grant
- 2015-07-23 KR KR1020150104340A patent/KR101712106B1/ko active IP Right Grant
- 2015-07-23 KR KR1020150104342A patent/KR101769428B1/ko active IP Right Grant
- 2015-10-14 JP JP2015203119A patent/JP6134761B2/ja active Active
- 2015-10-14 JP JP2015203120A patent/JP6076436B2/ja active Active
- 2015-10-14 JP JP2015203118A patent/JP6076435B2/ja active Active
- 2015-10-14 JP JP2015203121A patent/JP6076437B2/ja active Active
-
2016
- 2016-03-13 IL IL244567A patent/IL244567A/en active IP Right Grant
- 2016-03-13 IL IL244568A patent/IL244568B/en active IP Right Grant
- 2016-03-13 IL IL244569A patent/IL244569B/en active IP Right Grant
- 2016-03-13 IL IL244570A patent/IL244570B/en active IP Right Grant
-
2017
- 2017-05-04 US US15/586,935 patent/US10212452B2/en active Active
- 2017-08-11 KR KR1020170102573A patent/KR101874102B1/ko active IP Right Grant
- 2017-11-02 HR HRP20171673TT patent/HRP20171673T1/hr unknown
- 2017-11-30 CY CY20171101256T patent/CY1119640T1/el unknown
-
2019
- 2019-01-03 HR HRP20190021TT patent/HRP20190021T1/hr unknown
- 2019-01-03 HR HRP20190022TT patent/HRP20190022T1/hr unknown
- 2019-01-30 CY CY20191100133T patent/CY1121263T1/el unknown
- 2019-01-30 CY CY20191100132T patent/CY1121256T1/el unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2386222C2 (ru) * | 2005-10-19 | 2010-04-10 | Нтт Докомо, Инк. | Устройство для кодирования изображений с предсказанием, устройство для декодирования изображений с предсказанием, способ кодирования изображений с предсказанием, способ декодирования изображений с предсказанием, программа для кодирования изображений с предсказанием и программа для декодирования изображений c предсказанием |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2555236C2 (ru) | Способ и устройство кодирования и декодирования изображения с использованием внутрикадрового предсказания | |
RU2595949C2 (ru) | Определение режима внутрикадрового предсказания блока кодирования изображения и блока декодирования изображения | |
RU2603542C2 (ru) | Способ и устройство для кодирования видео и способ и устройство для декодирования видео | |
US20150063452A1 (en) | High efficiency video coding (hevc) intra prediction encoding apparatus and method | |
JP2013502140A (ja) | 動きベクトルの正確度の調節を利用した映像符号化、復号化方法及び装置 | |
JP2011166592A (ja) | 画像符号化装置及び画像復号装置 | |
JP2007184846A (ja) | 動画像符号化装置 |