ОБЛАСТЬ ТЕХНИКИ
Примерные варианты осуществления относятся к кодированию и декодированию изображения и, в частности, к способам и устройствам для кодирования и декодирования изображения, причем внутреннее предсказание осуществляется на блоке кодирования компоненты цветности с применением режима внутреннего предсказания, определенного для блока кодирования компоненты яркости.
УРОВЕНЬ ТЕХНИКИ
В способе сжатия изображения, таком как предложено экспертной группой по кинематографии MPEG-1, MPEG-2, MPEG-4, или H.264/MPEG-4 усовершенствованного кодирования видеосигнала (AVC), кадр делится на макроблоки, чтобы кодировать изображение. Каждый из макроблоков кодируется во всех режимах кодирования, которые могут использоваться во внешнем (интер-) предсказании или внутреннем (интра-) предсказании, и затем кодируется в режиме кодирования, то есть выбирается согласно скорости передачи битов, используемой для кодирования макроблока и степени искажения декодированного макроблока на основании исходного макроблока.
С развитием и доступностью аппаратного обеспечения для хранения и воспроизведения видеоконтента высокого разрешения или высокого качества появляется растущая потребность в видеокодеке, который может эффективно кодировать или декодировать видеоконтент высокого разрешения или высокого качества. В традиционном видеокодеке видео кодируется в единицах макроблоков, каждый из которых имеет предопределенный размер.
РАСКРЫТИЕ ТЕХНИЧЕСКОЙ ЗАДАЧИ ИЗОБРЕТЕНИЯ
В традиционном видеокодеке видео кодируется в единицах макроблоков, каждый из которых имеет предопределенный размер. Также, в традиционном видеокодеке ориентированность внутреннего режима ограничена.
РЕШЕНИЕ ПРОБЛЕМЫ
Примерные варианты осуществления включают в себя способ определения режима внутреннего предсказания блока кодирования компоненты яркости, имеющего различную направленность, на основании иерархических блоков кодирования, имеющих различные размеры, и способы и устройства для кодирования и декодирования изображения, причем внутреннее предсказание осуществляется в отношении блока кодирования компоненты цветности, согласно режимам-кандидатам внутреннего предсказания, включающим в себя режим внутреннего предсказания, определенный для блока кодирования компоненты яркости.
ПОЛЕЗНЫЕ РЕЗУЛЬТАТЫ ИЗОБРЕТЕНИЯ
Согласно примерным вариантам осуществления посредством добавления режима внутреннего предсказания блока кодирования компоненты яркости, имеющего различную направленность, в качестве режима внутреннего предсказания блока кодирования компоненты цветности, эффективность предсказания компоненты цветности изображения и эффективность предсказания всего изображения может увеличиваться без увеличения пропускной способности.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - блок-схема устройства для кодирования видео, согласно примерному варианту осуществления;
фиг. 2 - блок-схема устройства для декодирования видео, согласно примерному варианту осуществления;
фиг. 3 - схема для описания концепции блоков кодирования согласно примерному варианту осуществления;
фиг. 4 - блок-схема кодера изображения на основании блоков кодирования, согласно варианту осуществления настоящего изобретения;
фиг. 5 - блок-схема декодера изображения на основании блоков кодирования, согласно примерному варианту осуществления;
фиг. 6 - схема, иллюстрирующая более глубокие блоки кодирования, согласно глубинам и блокам предсказания, согласно примерному варианту осуществления;
фиг. 7 - схема для описания взаимоотношения между блоком кодирования и блоком преобразования, согласно примерному варианту осуществления.
фиг. 8 - схема для описания информации о кодировании блоков кодирования, соответствующих глубине кодирования, согласно примерному варианту осуществления.
фиг. 9 - схема более глубоких блоков кодирования, согласно глубинам, согласно примерному варианту осуществления;
фиг. 10А и 10В - схемы для описания взаимоотношений между блоками кодирования, блоками предсказания и блоками преобразования, согласно примерному варианту осуществления;
фиг. 11 - таблица, показывающая информацию о кодировании, согласно блоку предсказания, согласно примерному варианту осуществления;
фиг. 12А-12С - схемы форматов компоненты яркости изображения и компоненты цветности изображения, согласно примерному варианту осуществления;
фиг. 13 - таблица, показывающая номера режимов внутреннего предсказания, согласно размерам блоков кодирования компоненты яркости, согласно примерному варианту осуществления;
фиг. 14А-14С - схемы для разъяснения режимов внутреннего предсказания применительно к блоку кодирования компоненты яркости, имеющему предопределенный размер, согласно примерному варианту осуществления;
фиг. 15 - схема для разъяснения режимов внутреннего предсказания применительно к блоку кодирования компоненты яркости, имеющему предопределенный размер, согласно примерному варианту осуществления;
фиг. 16 - ссылочная схема для разъяснения режимов внутреннего предсказания блока кодирования компоненты яркости, имеющего различные направленности, согласно примерному варианту осуществления;
фиг. 17 - ссылочная схема для разъяснения билинейного режима, согласно примерному варианту осуществления;
фиг. 18 - схема для разъяснения процесса генерирования значения предсказания режима внутреннего предсказания текущего блока кодирования компоненты яркости, согласно примерному варианту осуществления;
фиг. 19 - ссылочная схема для разъяснения процесса отображения режимов внутреннего предсказания между блоками кодирования компоненты яркости, имеющими различные размеры, согласно примерному варианту осуществления.
фиг. 20 - ссылочная схема для разъяснения процесса отображения режимов внутреннего предсказания соседнего блока кодирования компоненты яркости, в один из показательных режимов внутреннего предсказания, согласно примерному варианту осуществления;
фиг. 21 - схема для разъяснения режимов-кандидатов внутреннего предсказания применительно к блоку кодирования компоненты цветности, согласно примерному варианту осуществления;
фиг. 22 - блок-схема устройства внутреннего предсказания, согласно примерному варианту осуществления;
фиг. 23 - блок-схема способа определения режима внутреннего предсказания блока кодирования, согласно примерному варианту осуществления;
фиг. 24 - блок-схема способа определения режима внутреннего предсказания блока декодирования, согласно примерному варианту осуществления;
фиг. 25 - схема для разъяснения взаимоотношения между текущим пикселем и соседними пикселями, расположенными на расширенной прямой, имеющей ориентированность (dx, dy);
фиг. 26 - схема для разъяснения изменения в соседнем пикселе, расположенном на расширенной прямой, имеющей ориентированность (dx, dy), согласно расположению текущего пикселя, согласно примерному варианту осуществления; и
фиг. 27 и 28 - схемы для разъяснения способа определения направления режима внутреннего предсказания, согласно примерному варианту осуществления.
НАИЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Согласно аспекту примерного варианта осуществления, предоставлен способ определения режима внутреннего предсказания блока кодирования текущего кадра, способ содержит этапы, на которых разбивают компоненту яркости текущего кадра на по меньшей мере один блок кодирования компоненты яркости, на основании максимального блока кодирования, то есть блока кодирования, в котором кодируется текущий кадр, имеющий максимальный размер, и глубины, которая указывает информацию иерархического разбиения максимального блока кодирования; определяют режим внутреннего предсказания по меньшей мере одного блока кодирования компоненты яркости; сравнивают затраты применения к блоку компоненты цветности режимов-кандидатов внутреннего предсказания блока кодирования компоненты цветности и режима внутреннего предсказания по меньшей мере одного блока кодирования компоненты яркости; и определяют режим внутреннего предсказания блока кодирования компоненты цветности из числа режимов-кандидатов предсказания блока компоненты цветности и определенного режима внутреннего предсказания по меньшей мере одного блока кодирования компоненты яркости, имеющего минимальные затраты, на основании результата сравнения.
Согласно аспекту примерного варианта осуществления, предоставлено устройство для определения режима внутреннего предсказания блока кодирования текущего кадра, причем устройство содержит внутренний предсказатель яркости, который определяет режим внутреннего предсказания блока кодирования компоненты яркости, который разбит из максимального блока кодирования, то есть блока кодирования, в котором кодируется текущее изображение, имеющее максимальный размер, и глубины, которая указывает информацию о иерархическом разбиении максимального блока кодирования; и внутренний предсказатель цветности, который сравнивает затраты от применения к блоку кодирования компоненты цветности, который разбит из максимального блока кодирования режимов-кандидатов внутреннего предсказания блока кодирования компоненты цветности и режима внутреннего предсказания блока кодирования компоненты яркости, и определяет режим внутреннего предсказания блока кодирования компоненты цветности из числа режимов-кандидатов предсказания блока компоненты цветности и режима внутреннего предсказания блока кодирования компоненты яркости имеющего минимальные затраты, на основании результата сравнения.
Согласно аспекту примерного варианта осуществления, предоставлен способ определения режима внутреннего предсказания блока декодирования текущего кадра, способ содержит этапы, на которых из битового потока извлекают максимальный блок кодирования, то есть блока кодирования, в котором кодируется текущий кадр, имеющий максимальный размер, и глубину, которая указывает информацию о иерархическом разбиении максимального блока кодирования; разбивают компоненту яркости и компоненту цветности текущего кадра, которые должны быть декодированы в по меньшей мере один блок декодирования компоненты яркости и по меньшей мере один блок декодирования компоненты цветности, соответственно, на основании максимального блока кодирования и глубины; из битового потока извлекают информацию о режиме внутреннего предсказания, которая указывает режим внутреннего предсказания применительно к по меньшей мере одному блоку декодирования компоненты яркости и по меньшей мере одному блоку декодирования компоненты цветности; и осуществляют внутреннее предсказание на по меньшей мере одном блоке декодирования компоненты яркости и по меньшей мере одном блоке декодирования компоненты цветности, на основании извлеченной информации о режиме внутреннего предсказания, для декодирования по меньшей мере одного блока декодирования компоненты яркости и по меньшей мере одного блока декодирования компоненты цветности.
Согласно аспекту примерного варианта осуществления, предоставлено устройство для декодирования изображения, причем устройство содержит статистический декодер, который извлекает максимальный блок кодирования, то есть блок кодирования, в котором кодируется текущий кадр, имеющий максимальный размер, глубину, которая указывает информацию иерархическом о разбиении максимального блока кодирования и информацию о режиме внутреннего предсказания, которая указывает режим внутреннего предсказания применительно к блоку декодирования компоненты яркости и блоку декодирования компоненты цветности, который должен быть декодирован из битового потока; и исполнитель внутреннего предсказания, который осуществляет внутреннее предсказание на блоке декодирования компоненты яркости и блоке декодирования компоненты цветности, для декодирования блока декодирования компоненты яркости и блока декодирования компоненты цветности, согласно извлеченному режиму внутреннего предсказания.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В дальнейшем, примерные варианты осуществления будут описаны более полно, со ссылкой на прилагаемые чертежи.
Далее, "блок кодирования" относится к блоку кодирования данных, в котором данные об изображении кодируются на стороне кодера, и блок кодирования данных, в котором кодированные данные об изображении кодируются на стороне декодера. Также, глубина кодирования относится к глубине, в которой блок кодирования является закодированным.
Фиг. 1 - блок-схема устройства 100 кодирования видео согласно варианту осуществления.
Устройство 100 кодирования видео включает в себя устройство 110 разбиения максимального блока кодирования, устройство 120 определения блока кодирования, блок 130 вывода данных об изображении и блок 140 вывода информации о кодировании.
Устройство 110 разбиения максимального блока кодирования может разбивать текущий кадр, на основании максимального блока кодирования для текущего кадра изображения. Если текущий кадр больше, чем максимальный блок кодирования, данные об изображении текущего кадра могут разбиваться на по меньшей мере один максимальный блок кодирования. Максимальный блок кодирования, согласно примерному варианту осуществления, может быть блоком данных, имеющим размер 32×32, 64×64, 128×128, 256×256 и т.д., в котором форма блока данных является квадратом, имеющим ширину и длину в степенях 2. Данные изображения могут выводиться на устройство 120 определения блока кодирования, согласно по меньшей мере одному максимальному блоку кодирования.
Блок кодирования, согласно примерному варианту осуществления, может характеризоваться максимальным размером и глубиной. Глубина означает количество раз пространственного разбиения блока кодирования из максимального блока кодирования, и так как глубина увеличивается, более глубокие блоки кодирования, согласно глубинам могут разбиваться из максимального блока кодирования на минимальный блок кодирования. Глубина максимального блока кодирования является самой меньшей глубиной, и глубина минимального блока кодирования является самой большей глубиной. Поскольку размер блока кодирования, соответствующий каждой глубине, уменьшается, так как глубина максимального блока кодирования увеличивается, блок кодирования, соответствующий меньшей глубине, может включать в себя множество блоков кодирования, соответствующих большим глубинам.
Как описано выше, данные об изображении текущего кадра разбиваются на максимальные блоки кодирования, согласно максимальному размеру блока кодирования, и каждый максимальный блок кодирования может включать в себя более глубокие блоки кодирования, которые разбиваются согласно глубинам. Поскольку максимальный блок кодирования, согласно примерному варианту осуществления, разбивается согласно глубинам, данные об изображении пространственной области, включенные в максимальный блок кодирования, могут иерархически классифицироваться согласно глубинам.
Может предопределяться максимальная глубина и максимальный размер блока кодирования, который ограничивает общее количество высот и ширин иерархически разбиваемого максимального блока кодирования. Такой максимальный блок кодирования и максимальная глубина могут быть установлены в кадре или серии последовательных макроблоков. Другими словами, различные максимальные блоки кодирования и различные максимальные глубины могут устанавливаться для каждого кадра или серии последовательных макроблоков, и размер минимального блока кодирования, включенного в максимальный блок кодирования, может устанавливаться согласно максимальной глубине. По существу, посредством установки максимального блока кодирования и максимальной глубины, согласно кадрам или сериям последовательных макроблоков, эффективность кодирования может улучшаться посредством кодирования изображения плоской области с использованием максимального блока кодирования, и эффективность сжатия изображения может быть улучшена посредством кодирования изображения, имеющего высокую сложность посредством использования блока кодирования, имеющего меньший размер, чем максимальный блок кодирования.
Устройство определения 120 блока кодирования определяет различные максимальные глубины согласно максимальным блокам кодирования. Максимальная глубина может определяться на основании расчета стоимости искажение-скорость (R-D). Определенная максимальная глубина выводится на блок 140 вывода информации кодирования, и данные об изображении, согласно максимальным блокам кодирования, выводятся на блок 130 вывода данных об изображении.
Данные об изображении в максимальном блоке кодирования кодируются на основании более глубоких блоков кодирования соответствующих по меньшей мере одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных об изображении сравниваются на основании каждого из более глубоких блоков кодирования. Глубина, имеющая меньшую ошибку кодирования, может выбираться после сравнения ошибок кодирования более глубоких блоков кодирования. По меньшей мере одна глубина кодирования может выбираться для каждого максимального блока кодирования.
Размер максимального блока кодирования разбивается, так как блок кодирования иерархически разбивается согласно глубинам, и так как количество блоков кодирования возрастает. К тому же, даже если блоки кодирования в одном максимальном блоке кодирования соответствуют той же глубине, определяют, соответствует ли разбиение каждого из блоков кодирования той же глубины большей глубине, посредством измерения ошибки кодирования данных об изображении каждого блока кодирования, отдельно. Соответственно, даже когда данные об изображении включены в один максимальный блок кодирования, данные об изображении разбивают на зоны, согласно глубинам и ошибки кодирования могут отличаться, согласно зонам в одном максимальном блоке кодирования, и таким образом глубины кодирования могут отличаться, согласно зонам в данных об изображении. Другими словами, максимальный блок кодирования может разбиваться на блоки кодирования, имеющие различные размеры согласно различным глубинам. Таким образом, одна или более глубин кодирования могут определяться в одном блоке кодирования, и данные изображения максимального блока кодирования могут разбиваться согласно блокам кодирования по меньшей мере одной глубины кодирования.
К тому же, блоки кодирования, имеющие разные размеры в максимальном блоке кодирования, могут быть предсказаны или преобразованы на основании блоков данных, имеющих разные размеры. Другими словами, устройство 100 кодирования видео может осуществлять множество операций для кодирования изображения на основании блоков данных, имеющих различные размеры и формы. Для того чтобы кодировать данные об изображении, и в это время осуществлялись операции, такие как предсказание, преобразование, статистическое кодирование и т.д., тот же блок данных может использоваться для всех операций или различные блоки данных могут использоваться для каждой операции.
Например, устройство 100 кодирования видео может выбирать блок данных, то есть отличный от блока кодирования, для предсказания блока кодирования. Например, когда блок кодирования имеет размер 2N×2N (где N - положительное целое число) блок данных для предсказания может иметь размер 2N×2N, 2N×N, N×2N, или N×N. Другими словами, предсказание движения может осуществляться на основании блока данных, полученного посредством разбиения по меньшей мере одного из высоты и ширины блока кодирования. В дальнейшем, блок данных, то есть основной блок предсказания будет указываться ссылкой в качестве блока предсказания.
Режим предсказания может быть по меньшей мере одним из внутреннего режима, внешнего режима и режима чередования, в котором конкретный режим предсказания осуществляется только на блоке предсказания, имеющем конкретный размер или форму. Например, внутренний режим может осуществляться только на блоке квадратичного предсказания, имеющем размер 2N×2N или N×N. Кроме того, режим чередования может осуществляться только на блоке предсказания, имеющем размер 2N×2N. Если множество блоков предсказания включены в блок кодирования, предсказание для выбора режима предсказания, имеющего минимальную ошибку, может осуществляться на каждом блоке предсказания.
Альтернативно, устройство 100 кодирования видео может преобразовывать данные об изображении на основании блока данных, то есть отличного от блока кодирования. Для того чтобы преобразовать блок кодирования, преобразование может осуществляться на основании блока данных, имеющего размер меньший, чем или равный блоку кодирования. Блок данных, используемый в качестве основы преобразования, будет называться блоком преобразования.
Устройство определения 120 блока кодирования может измерять ошибку кодирования более глубоких блоков кодирования, согласно глубинам, посредством использования оценки оптимизации искажения, на основании множителей Лагранжа, для определения формы разбиения максимального блока кодирования, имеющего оптимальную ошибку кодирования. Другими словами, устройство определения 120 блока кодирования может определять формы блоков кодирования, которые должны разбиваться из максимального блока кодирования, в котором размеры блоков кодирования, согласно глубинам, различны.
Блок вывода 130 данных об изображении выводит данные об изображении, максимального блока кодирования, которые кодируются в битовых потоках, на основании по меньшей мере одной глубины, определенной посредством устройства определения 120 блока кодирования. Поскольку кодирование уже осуществляется посредством устройства определения 120 глубины кодирования для измерения минимальной ошибки кодирования, закодированный поток данных может выводиться посредством использования минимальной ошибки кодирования.
Блок 140 вывода информации о кодировании может выводить информацию о режиме кодирования, согласно глубине кодирования, которая кодируется на основании по меньшей мере одной глубины кодирования определенной посредством устройства определения 120 блока кодирования в битовых потоках. Информация о режиме кодирования, согласно глубине кодирования, может включать в себя информацию, которая указывает глубину кодирования, информацию, которая указывает тип разбиения в блоке предсказания, информацию, которая указывает режим предсказания, и информацию, которая указывает размер блока преобразования.
Информация о глубине кодирования может определяться посредством использования информации о разбиении, согласно глубинам, которые указывают, осуществляются ли кодирование в отношении блоков кодирования большей глубины вместо текущей глубины. Если текущая глубина текущего блока кодирования является глубиной кодирования, данные об изображении в текущем блоке кодирования кодируются и выводятся, и таким образом информация о разбиении может определяться не для разбиения текущего блока кодирования в большую глубину. Альтернативно, если текущая глубина текущего блока кодирования не является глубиной кодирования, кодирование осуществляется на блоке кодирования большей глубины, и таким образом информация о разбиении может быть определена для разбиения текущего блока кодирования для получения блоков кодирования большей глубины.
Если текущая глубина не является глубиной кодирования, кодирование осуществляется на блоке кодирования, который разбит на блоки кодирования большей глубины. Поскольку по меньшей мере один более глубокий блок кодирования существует в одном блоке кодирования текущей глубины, кодирование осуществляется неоднократно на каждый блок кодирования большей глубины и, таким образом для блоков кодирования, имеющих ту же глубину, кодирование может осуществляться рекурсивно.
Поскольку блоки кодирования, имеющие древовидную структуру определяются для одного максимального блока кодирования, и информация о по меньшей мере одном режиме кодирования определяется для блока кодирования глубины кодирования, информация о по меньшей мере одном режиме кодирования может определяться для одного максимального блока кодирования. Кроме того, глубина кодирования данных об изображении максимального блока кодирования может быть отличной, согласно расположениям, поскольку данные об изображении иерархически разбиваются согласно глубинам и, таким образом, информация о глубине кодирования и режиме кодирования может устанавливаться для данных об изображении.
Соответственно, блок 140 вывода информации о кодировании может назначать соответствующую информацию о кодировании для каждого минимального блока кодирования, включенного в максимальный блок кодирования. Другими словами, блок кодирования глубины кодирования включает в себя по меньшей мере один минимальный блок кодирования, содержащий ту же информацию о кодировании. Таким образом, если соседние минимальные блоки кодирования имеют ту же информацию о кодировании, соседние минимальные блоки кодирования могут быть минимальными блоками кодирования, включенными в тот же максимальный блок кодирования.
В устройстве 100 кодирования видео, более глубокий блок кодирования может быть блоком кодирования, полученным посредством деления высоты или ширины блока кодирования меньшей глубины, который находится на один уровень выше, на два. Другими словами, когда размер блока кодирования текущей глубины равен 2N×2N, размер более глубокого блока кодирования равен N×N. Кроме того, блок кодирования текущей глубины, имеющей размер 2N×2N, может включать в себя максимум из 4 блоков кодирования большей глубины.
Соответственно, устройство 100 кодирования видео может определять блоки кодирования, имеющие оптимальную форму для каждого максимального блока кодирования, на основе размера максимального блока кодирования и максимальной глубины, определенной учитывая характеристики текущего кадра. Кроме того, поскольку кодирование может осуществляться на каждом максимальном блоке кодирования, посредством использования любого одного из различных режимов предсказания и преобразований, режим оптимального кодирования может определяться, учитывая характеристики блока кодирования различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение или большой объем данных кодируется в обычном макроблоке, количество макроблоков на кадр чрезмерно увеличивается. Соответственно, количество фрагментов сжатой информации, сгенерированной для каждого макроблока, увеличивается, и таким образом это затрудняет передачу сжатой информации, и эффективность сжатия данных уменьшается. Однако, посредством использования устройства 100 кодирования видео, эффективность сжатия изображения может увеличиваться, поскольку блок кодирования настраивается наряду с учетом характеристик изображения, наряду с увеличением максимального размера блока кодирования, наряду с учетом размера изображения.
Фиг. 2 - блок-схема устройства 200 декодирования видео согласно примерному варианту осуществления.
Со ссылкой на фиг. 2, устройство 200 декодирования видео включает в себя приемное 210 устройство, устройство 220 извлечения информации о кодировании и декодер 230 данных об изображении.
Приемное устройство 210 принимает и синтаксически анализирует битовый поток, принятый посредством устройства 200 декодирования видео, для получения данных об изображении, согласно максимальным блокам кодирования, и выводит данные об изображении на декодер 230 данных об изображении. Приемное 210 устройство может извлекать информацию о максимальном блоке кодирования текущего кадра или серии последовательных макроблоков из заголовка о текущем кадре или серии последовательных макроблоков. Устройство 200 декодирования видео декодирует данные об изображении, согласно максимальным блокам кодирования.
Устройство 220 извлечения кодированной информации синтаксически анализирует битовый поток посредством устройства 200 декодирования видео и извлекает информацию о глубине кодирования и режиме кодирования, согласно максимальным блокам кодирования из заголовка текущего кадра в синтаксически анализированном битовом потоке. Информация об извлеченной глубине кодирования и режиме кодирования выводится на декодер 230 данных об изображении.
Информация о глубине кодирования и режиме кодирования, согласно максимальному блоку кодирования может устанавливаться для информации о по меньшей мере одном блоке кодирования, соответствующем глубине кодирования, и информация о режиме кодирования может включать в себя информацию о типе разбиения блока предсказания, согласно блокам кодирования, информация, которая указывает режим предсказания, и информация, которая указывает размер блока преобразования. Кроме того, информация о разбиении согласно глубинам может извлекаться в качестве информации о глубине кодирования.
Информация о форме разбиения максимального блока кодирования может включать в себя информацию о блоках кодирования, имеющих различные размеры согласно глубинам, и информация о режиме кодирования может включать в себя информацию, которая указывает блок предсказания, согласно блокам кодирования, информацию, которая указывает режим предсказания, и информацию, которая указывает блок преобразования.
Декодер 230 данных об изображении восстанавливает текущий кадр посредством декодирования данных об изображении в каждом максимальном блоке кодирования на основании информации, извлеченной посредством устройства 220 извлечения информации о кодировании. Декодер 230 данных об изображении может декодировать блок кодирования, включенный в максимальный блок кодирования, на основании информации о форме разбиения максимального блока кодирования. Процесс декодирования может включать в себя предсказание, включающее в себя внутреннее предсказание и компенсацию движения, и обратное преобразование.
Альтернативно, декодер 230 данных об изображении восстанавливает текущий кадр посредством декодирования данных об изображении в каждом максимальном блоке кодирования на основании информации о глубине кодирования и режиме кодирования согласно максимальным блокам кодирования. Другими словами, декодер 230 данных об изображении может декодировать данные об изображении согласно блокам кодирования по меньшей мере одной глубины кодирования на основании информации о глубине кодирования, согласно максимальным блокам кодирования. Процесс декодирования может включать в себя предсказание, включающее в себя внутреннее предсказание и компенсацию движения, и обратное преобразование.
Декодер 230 данных об изображении может осуществлять внутреннее предсказание или компенсацию движения в блоке предсказания и режиме предсказания, согласно блокам кодирования, на основании информации о типе разбиения и режима предсказания блока предсказания блока кодирования, согласно глубинам кодирования, для осуществления предсказания согласно блокам кодирования. Кроме того, декодер 230 данных об изображении может осуществлять обратное преобразование, согласно каждому блоку преобразования в блоке кодирования, на основании информации о размере блока преобразования блока кодирования, согласно глубинам кодирования, для осуществления обратного преобразования, согласно максимальным блокам кодирования.
Декодер 230 данных об изображении может определять глубину кодирования текущего максимального блока кодирования посредством использования информации о разбиении согласно глубине. Если информация о разбиении указывает, что декодирование должно осуществляться в текущей глубине, текущая глубина является глубиной кодирования. Соответственно, декодер 230 данных об изображении может декодировать данные о кодированном изображении блока кодирования текущей глубины относительно данных об изображении текущего максимального блока кодирования посредством использования информации о типе разбиения блока предсказания, режиме предсказания и размере блока преобразования. Другими словами, может наблюдаться информация кодирования, назначенная для минимального блока кодирования, и минимальные блоки кодирования включающие в себя информацию о кодировании, имеющую ту же информацию о разбиении, может собираться для декодирования в одном блоке данных.
Устройство 200 декодирования видео может получать информацию о по меньшей мере одном блоке кодирования, который генерирует минимальную ошибку кодирования, когда кодирование рекурсивно осуществляется для каждого максимального блока кодирования, и может использовать информацию для декодирования текущего кадра. Другими словами, данные об изображении могут декодироваться в блоке оптимального кодирования в каждом максимальном блоке кодирования. Соответственно, даже если данные об изображении имеют высокое разрешение и большой объем данных, данные об изображении могут эффективно декодироваться и восстанавливаться посредством использования размера блока кодирования и режима кодирования, которые адаптивно определяются согласно характеристикам данных об изображении посредством использования информации о режиме оптимального кодирования принятого из кодера.
Фиг. 3 - схема для описания концепции блоков кодирования, согласно примерному варианту осуществления.
Со ссылкой на фиг. 3 размер блока кодирования может быть выражен в (ширина)×(высота) и может быть 64×64, 32×32, 16×16, 8×8 и 4×4. Помимо блока кодирования, имеющего квадратную форму, блок кодирования может иметь размер 64×32, 32×64, 32×16, 16×32, 16×8, 8×16, 8×4 или 4×8.
В видеоданных 310 разрешение является 1920×1080, максимальный размер блока кодирования равен 64, и максимальная глубина равна 2. В видеоданных 320 разрешение является 1920×1080, максимальный размер блока кодирования равен 64, и максимальная глубина равна 4. В видеоданных 330 разрешение является 352×288, максимальный размер блока кодирования равен 16, и максимальная глубина равна 2.
Если разрешение является высоким или объем данным большим, максимальный размер блока кодирования может быть большим не только чтобы повысить эффективность кодирования, но также, чтобы точно отображать характеристики изображения. Соответственно, максимальный размер блока кодирования видеоданных 310 и 320, имеющих более высокое разрешение, чем видеоданные 330, может быть 64.
Максимальная глубина означает общее количество разбиений из максимального блока кодирования в минимальный блок декодирования. Соответственно, поскольку максимальная глубина видеоданных 310 равна 2, блоки 315 кодирования видеоданных 310 могут включать в себя максимальный блок кодирования, имеющий размер длинной оси 64, и блоки кодирования, имеющие размеры длинной оси 32 и 16, поскольку глубины являются углубленными на два уровня, посредством двойного разбиения максимального блока кодирования. Между тем, поскольку максимальная глубина видеоданных 330 равна 2, блоки 335 кодирования видеоданных 330 могут включать в себя максимальный блок кодирования, имеющий размер длинной оси 16, и блоки кодирования, имеющие размеры длинной оси 8 и 4, поскольку глубины являются увеличенными на два уровня, посредством двойного разбиения максимального блока кодирования.
Поскольку максимальная глубина видеоданных 320 равна 4, блоки 325 кодирования видеоданных 320 могут включать в себя максимальный блок кодирования, имеющий размер длинной оси 64, и блоки кодирования, имеющие размеры длинной оси 32, 16, 8, и 4, поскольку глубины являются увеличенными, на 4 уровня, посредством разбиения 4 раза максимального блока кодирования. По мере того, как увеличивается глубина, подробная информация может точно выражаться.
Фиг. 4 - блок-схема кодера 400 изображений на основании блоков кодирования, согласно примерному варианту осуществления;
Со ссылкой на фиг. 4 внутренний предсказатель 410 осуществляет внутреннее предсказание в отношении блоков кодирования во внутреннем режиме, из числа блоков кодирования текущего кадра 405 и устройства 420 оценки движения и устройства 425 компенсации движения осуществляет межкадровую оценку и компенсацию движения в отношении блоков кодирования во внутреннем режиме из числа блоков кодирования текущего кадра 405 посредством использования текущего кадра 405, и опорного кадра 495.
Вывод данных из внутреннего предсказателя 410, устройства 420 оценки движения и устройства 425 компенсации движения выводится в качестве квантованного коэффициента преобразования посредством устройства 430 преобразования и устройства 440 квантования. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области посредством устройства 460 обратного квантования и устройства 470 обратного преобразования, и восстановленные данные в пространственной области выводятся в качестве опорного кадра 495 после постобработки посредством блока 480 распаковки блоков и блока 490 контурной фильтрации. Квантованный коэффициент преобразования может выводиться в качестве битового потока 455 посредством статистического кодера 450.
Чтобы декодер 500 изображения, который должен применяться в устройстве 100 кодирования видео, все элементы кодера 400 изображений, то есть внутреннего предсказателя 410, устройство 420 оценки движения и устройство 425 компенсации движения, устройство 430 преобразования, устройство 440 квантования, статистический кодер 450, устройство 460 обратного квантования, устройство 470 обратного преобразования, блок 480 распаковки блоков и блок 490 контурной фильтрации осуществляют процессы кодирования изображения на основании максимального блока кодирования, блока кодирования согласно глубинам, блока предсказания и блока преобразования. Конкретно, внутренний предсказатель 410, устройство 420 оценки движения и устройство 425 компенсации движения определяют блок предсказания и режим предсказания блока кодирования, учитывая максимальный размер и глубину блока кодирования, и устройство 430 преобразования определяет размер блока преобразования, учитывая максимальный размер и глубину блока кодирования. Кроме того, как описано позже, внутренний предсказатель 410 осуществляет внутреннее предсказание посредством применения режима внутреннего предсказания определенного для блока кодирования компоненты яркости на блоке кодирования компоненты цветности и таким образом, эффективность предсказания блока кодирования компоненты цветности может быть улучшена.
Фиг. 5 - блок-схема декодера 500 изображения на основании блоков кодирования, согласно примерному варианту осуществления.
Со ссылкой на фиг. 5, устройство 510 синтаксического анализа анализирует принятый битовый поток 505 и извлекает кодированные данные об изображении, которые должны быть декодированы, и информацию о кодировании для декодирования из синтаксически анализируемого битового потока. Данные кодированного изображения выводятся в качестве данных обратного квантования посредством статистического декодера 520 и устройства 530 обратного квантования, и данные обратного квантования, восстановленные для данных об изображении в пространственной области посредством устройства 540 обратного преобразования. Внутренний предсказатель 550 осуществляет внутреннее предсказание в отношении блоков кодирования во внутреннем режиме относительно данных об изображении в пространственной области, и устройство 560 компенсации движения осуществляет компенсацию движения в отношении блоков кодирования во внешнем режиме посредством использования опорного кадра 585. Данные об изображении в пространственной области, которые пропускаются посредством внутреннего предсказателя 550 и устройства 560 компенсации движения, могут выводиться в качестве восстановленного кадра 595 после постобработки посредством блока 570 распаковки блоков и блока 580 контурной фильтрации. Кроме того, данные об изображении, то есть постобработанные, посредством блока 570 распаковки блоков и блока 580 контурной фильтрации могут выводиться в качестве опорного кадра 585.
Чтобы декодер 500 изображения применялся в устройстве 200 декодирования видео, все элементы декодера 500 изображения, то есть устройство 510 синтаксического анализа, статистический декодер 520, устройство 530 обратного квантования, устройство 540 обратного преобразования, внутренний предсказатель 550, устройство 560 компенсации движения, блок 570 распаковки блоков и блок 580 контурной фильтрации осуществляют процесс декодирования изображения на основании максимального блока кодирования, блока кодирования, согласно глубинам, блока предсказания и блока преобразования. Конкретно, внутренний предсказатель 550 и устройство 560 компенсации движения определяют блок предсказания и режим предсказания блока кодирования, учитывая максимальный размер и глубину блока кодирования, и устройство 540 обратного преобразования определяет размер блока преобразования, учитывая максимальный размер и глубину блока кодирования.
Фиг. 6 - схема, иллюстрирующая более глубокие блоки кодирования согласно глубинам, и блоки предсказания, согласно примерному варианту осуществления.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют иерархические блоки кодирования для учета характеристик изображения. Максимальная высота, максимальная ширина и максимальная глубина блоков кодирования могут адаптивно определяться, согласно характеристикам изображения, или могут устанавливаться отдельно, согласно вводу пользователя. Размеры более глубоких блоков кодирования, согласно глубинам, могут определяться согласно предопределенному максимальному размеру блока кодирования.
В иерархической структуре 600 блоков кодирования, согласно примерному варианту осуществления, каждая максимальная высота и максимальная ширина блоков кодирования равна 64, и максимальная глубина равна 4. Поскольку глубина увеличивается по вертикальной оси иерархической структуры 600, каждая высота и ширина более глубокого блока кодирования разбивается. Кроме того, блок предсказания, составляющий блок частичных данных, который является основой для предсказания кодирования каждого более глубокого блока кодирования, показан по горизонтальной оси иерархической структуры 600.
Другими словами, блок 610 кодирования является максимальным блоком кодирования в иерархической структуре 600, в которой глубина равна 0 и размер, то есть высота к ширине, равен 64×64. Глубина увеличивается по вертикальной оси и существует блок 620 кодирования имеющий размер 32×32 и глубину 1, блок 630 кодирования, имеющий размер 16×16 и глубину 2, блок 640 кодирования, имеющий размер 8×8 и глубину 3, и блок 650 кодирования, имеющий размер 4×4 и глубину 4. Блок 650 кодирования, имеющий размер 4×4 и глубину 4, является минимальным блоком кодирования.
Блоки частичных данных, показанные на Фиг. 6 в качестве блоков предсказания блока кодирования по горизонтальной оси, согласно каждой глубине. Другими словами, если блок 610 кодирования, имеющий размер 64×64 и глубину 0, является блоком предсказания, блок предсказания может разбиваться на блоки частичных данных, включенных в блок 610 кодирования, то есть блок 610 частичных данных, имеющий размер 64×64, блоки 612 частичных данных, имеющие размер 64×32, блоки 614 частичных данных, имеющие размер 32×64, или блоки 616 данных, имеющие размер 32x32.
Блок предсказания блока 620 кодирования, имеющий размер 32×32 и глубину 1, может разбиваться на блоки частичных данных, включенных в блок 620 кодирования, то есть блок 620 частичных данных, имеющий размер 32×32, блоки 622 частичных данных, имеющие размер 32×16, блоки 624 частичных данных, имеющие размер 16×32, и блоки 626 частичных данных, имеющие размер 16×16.
Блок предсказания блока 630 кодирования, имеющий размер 16×16 и глубину 2, может разбиваться на блоки частичных данных, включенных в блок 630 кодирования, то есть блок частичных данных, имеющий размер 16×16, включенный в блок 630 кодирования, блоки 632 частичных данных, имеющие размер 16×8, блоки 634 частичных данных, имеющие размер 8×16, и блоки 636 данных, имеющие размер 8×8.
Блок предсказания блока 640 кодирования, имеющий размер 8x8 и глубину 3, может разбиваться на блоки частичных данных, включенных в блок 640 кодирования, то есть блок частичных данных, имеющий размер 8x8, включенный в блок 640 кодирования, блоки 642 частичных данных, имеющие размер 8×4, блоки 644 частичных данных, имеющие размер 4×8, и блоки 646 частичных данных, имеющие размер 4×4.
Блок 650 кодирования, имеющий размер 4x4 и глубину 4, является минимальным блоком кодирования и блоком кодирования самой большой глубины. Блок предсказания блока 650 кодирования назначается только для блока частичных данных, имеющего размер 4x4.
Для того чтобы определить по меньшей мере одну глубину кодирования блоков кодирования составляющих максимальный блок 610 кодирования, устройство определения 120 блока кодирования устройства 100 кодирования видео осуществляет кодирование блоков кодирования, соответствующих каждой глубине, включенной в максимальный блок 610 кодирования.
Количество более глубоких блоков кодирования, согласно глубинам, включающим в себя данные в том же диапазоне и того же размера, увеличивается, так как увеличивается глубина. Например, четыре блока кодирования, соответствующих глубине 2, требуются для покрытия данных, которые включены в один блок кодирования, соответствующий глубине 1. Соответственно, для того чтобы сравнить результаты кодирования тех же данных, согласно глубинам, кодируется каждый блок кодирования, соответствующий глубине 1, и четыре блока кодирования, соответствующие глубине 2.
Для того чтобы осуществить кодирование для текущей глубины из числа глубин, минимальная ошибка кодирования может определяться для текущей глубины посредством осуществления кодирования для каждого блока предсказания в блоках кодирования, соответствующих текущей глубине по горизонтальной оси иерархической структуры 600. Кроме того, может быть осуществлен поиск минимальной ошибки кодирования, согласно глубинам, посредством сравнения минимальной ошибки кодирования каждой глубины, осуществлением кодирования для каждой глубины, как увеличивается глубина по вертикальной оси иерархической структуры 600. Глубина, имеющая минимальную ошибку кодирования в блоке 610 кодирования, может выбираться в качестве глубины кодирования и типа разбиения блока 610 кодирования.
Фиг. 7 схема для описания взаимоотношения между блоком 710 кодирования и блоками 720 преобразования, согласно примерному варианту осуществления.
Устройство 100 или 200 кодирования видео кодирует или декодирует изображение, согласно блокам кодирования, имеющим размеры меньше, чем или равные максимальному блоку кодирования для каждого максимального блока кодирования. Размеры блоков преобразования для преобразования во время кодирования могут выбираться на основании блоков данных, которые являются не больше чем соответствующий блок кодирования. Например, в устройстве 100 или 200 кодирования видео, если размер блока 710 кодирования равен 64×64, преобразование может осуществляться посредством использования блоков 720 преобразования, имеющих размер 32×32. Кроме того, данные блока 710 кодирования, имеющего размер 64×64, могут кодироваться посредством осуществления преобразования на каждых блоках преобразования, имеющих размеры 32×32, 16×16, 8×8 и 4×4, которые меньше чем 64×64, и тогда, может выбираться блок преобразования, имеющий наименьшую ошибку кодирования.
Фиг. 8 - схема для описания информации кодирования блоков кодирования соответствующей глубине кодирования, согласно примерному варианту осуществления.
Блок 130 вывода, устройства 100 кодирования видео может кодировать и передавать информацию 800, которая указывает тип разбиения, информацию 810, которая указывает режим предсказания, и информацию 820, которая указывает размер блока преобразования для каждого блока кодирования, соответствующего глубине кодирования в качестве информации о режиме кодирования.
Информация 800 включает в себя информацию о типе разбиения блока предсказания текущего блока кодирования, в котором блок предсказания разбиения является блоком данных для предсказания кодирования текущего блока кодирования. Например, текущий блок кодирования CU_0, имеющий глубину 0 и размер 2N×2N, может разбиваться на любой один блок 802 предсказания, имеющий размер 2N×2N, блок 804 предсказания, имеющий размер 2NxN, блок 806 предсказания, имеющий размер N×2N, и блок 808 предсказания, имеющий размер N×N. Здесь информация 800 о типе разбиения устанавливается, чтобы указывать один из блока 804 предсказания, имеющего размер 2N×N, блок 806 предсказания, имеющий размер N×2N, и блок 808 предсказания, имеющий размер N×N.
Информация 810 указывает режим предсказания каждого блока предсказания. Например, информация 810 может указывать режим предсказания кодирования осуществленного на блоке предсказания, указанного посредством информации 800, то есть внутреннего режима 812, внешнего режима 814 или режима 816 чередования.
Информация 820 указывает блок преобразования, который должен быть основан, когда на текущем блоке кодирования осуществляется преобразование. Например, блоком преобразования может быть первый блок 822 внутреннего преобразования, второй блок 824 внутреннего преобразования, первый блок 826 внешнего преобразования или второй блок 828 внутреннего преобразования.
Устройство 220 извлечения информации кодирования устройства 200 декодирования видео может извлекать и использовать информацию 800, 810, и 820 для декодирования, согласно каждому блоку более глубокого кодирования.
Фиг. 9 - схема блоков более глубокого кодирования согласно глубинам, согласно примерному варианту осуществления.
Информация о разбиении может использоваться для указания изменения в глубине. Информация о разбиении указывает, является ли блок кодирования текущей глубины разбитым на блоки кодирования меньшей глубины.
Блок 910 предсказания для предсказания кодирования блока кодирования, имеющего глубину 0 и размер 2N_0×2N_0, может включать в себя тип 912 разбиения, имеющий размер 2N_0×2N_0, тип 914 разбиения, имеющий размер 2N_0×N_0, и тип разбиения 916, имеющий размер N_0×2N_0, и тип 918 разбиения, имеющий размер N_0×N_0.
Кодирование посредством предсказания движения неоднократно осуществляется в отношении одного блока предсказания, имеющего размер 2N_0×2N_0, двух блоков предсказания, имеющих размер 2N_0×N_0, двух блоков предсказания, имеющих размер N_0×2N_0, и четырех блоков предсказания, имеющих размер N_0×N_0, согласно каждому типу разбиения. Предсказание во внутреннем режиме и внешнем режиме может осуществляться на блоках предсказания, имеющих размеры 2N_0×N_0, N_0×2N_0 и N_0×N_0 и N_0×N_0. Предсказание движения в режиме чередования осуществляется только на блоке предсказания, имеющем размер 2N_0×2N_0.
Если ошибка кодирования является наименьшей в типе 918 разбиения, имеющем размер N_0×N_0, глубина изменяется от 0 до 1 в разбиении типа 918 раздела в операции 920, и кодирование неоднократно осуществляется в отношении блоков кодирования 922, 924, 926 и 928, имеющих глубину 2 и размер N_0×N_0 для поиска минимальной ошибки кодирования.
Поскольку кодирование осуществляется неоднократно в отношении блоков кодирования 922, 924, 926, и 928, имеющих ту же глубину, кодируют только блок кодирования, имеющий глубину 1, будет описан в качестве примера. Блок 930 предсказания для предсказания движения блока кодирования, имеющего глубину 0 и размер 2N_1×2N_1 (=N_0×N_0), может включать в себя тип 932 разбиения, имеющий размер 2N_1×2N_1, тип 934 разбиения, имеющий размер 2N_1×N_1, и тип разбиения 936, имеющий размер N_1×2N_1, и тип 938 разбиения, имеющий размер N_1×N_1. Кодирование посредством предсказания движения неоднократно осуществляется в отношении одного блока предсказания, имеющего размер 2N_1×2N_1, двух блоков предсказания, имеющих размер 2N_1×N_1, двух блоков предсказания, имеющих размер N_1×2N_1, и четырех блоков предсказания, имеющих размер N_1×N_1, согласно каждому типу разбиения.
Если ошибка кодирования является наименьшей в типе 938 разбиения, имеющем размер N_1×N_1, глубина изменяется от 1 до 2 для разбиения типа раздела 938 в операции 940, и кодирование неоднократно осуществляется в отношении блоков 942, 944, 946 и 948 кодирования, которые имеют глубину 2 и размер N_2×N_2, чтобы отыскивать минимальную ошибку кодирования.
Когда максимальная глубина равна d, информация о разбиении согласно каждой глубине может устанавливаться, когда глубина становится равной d-1. Другими словами, блок 950 предсказания для предсказания движения блока кодирования, имеющего глубину d-1 и размер 2N_(d-1)×2N_(d-1), может включать в себя тип 952 разбиения, имеющий размер 2N_(d-1)×2N_(d-1), тип разбиения, имеющий размер N_(d-1)×2N_(d-1), и тип 958 разбиения, имеющий размер N_(d-1)×N_(d-1).
Кодирование посредством предсказания движения может осуществляться неоднократно в отношении одного блока предсказания, имеющего размер 2N_(d-1)×2N_(d-1), двух блоков предсказания, имеющих размер 2N_(d-1)×N_(d-1), двух блоков предсказания, имеющих размер N_(d-1)×2N_(d-1), и четырех блоков предсказания, имеющих размер N_(d-1)×N_(d-1), согласно каждому типу разбиения. Поскольку максимальная глубина d, блок 952 кодирования, имеющий глубину d-1, не разбивается.
Для того чтобы определить глубину кодирования для блока 912 кодирования, устройство 100 кодирования видео выбирает глубину, имеющую наименьшую ошибку кодирования посредством сравнения ошибок кодирования согласно глубинам. Например, ошибка кодирования блока кодирования, имеющего глубину равную 0, может кодироваться посредством осуществления предсказания движения на каждом типе 912, 914, 916, и 918 разбиения, и затем может определяться блок предсказания, имеющий наименьшую ошибку кодирования. Подобным образом может производиться поиск блока предсказания, имеющего наименьшую ошибку кодирования, согласно глубинам 0 по d-1. В глубине d ошибка кодирования может определяться посредством осуществления предсказания движения на блоке 960 предсказания, имеющем размер 2N_d×2N_d. По существу, минимальные ошибки кодирования сравниваются согласно глубинам во всех глубинах с 1 по d, и глубина, имеющая наименьшую ошибку кодирования, может определяться в качестве глубины кодирования. Глубина кодирования и блок предсказания соответствующего режима глубины кодирования может кодироваться и передаваться в качестве информации о режиме кодирования. Кроме того, поскольку блок кодирования является разбитым из глубины с 0 до глубины кодирования, только информация о разбиении глубины кодирования устанавливается в 0, и информация о разбиении глубин, за исключением глубины кодирования, устанавливается в 1.
Данные об изображении и устройство 220 извлечения информации о кодировании устройства 200 декодирования видео могут извлекать и использовать информацию о глубине кодирования и блоке предсказания блока 912 кодирования для декодирования блока 912 кодирования. Устройство 200 декодирования видео может определять глубину, в которой информация о разбиении равна 0, в качестве глубины кодирования, посредством использования информации о разбиении согласно глубинам и использовать информацию о режиме кодирования соответствующей глубины для декодирования.
Фиг. 10А и 10В - схемы для описания взаимоотношений между блоками 1010 кодирования, блоками 1060 предсказания и блоками 1070 преобразования, согласно примерному варианту осуществления.
Блоки 1010 кодирования являются блоками кодирования, соответствующими глубинам кодирования, определенным посредством устройства 100 кодирования видео, в максимальном блоке 1000 кодирования. Блоки 1060 предсказания являются блоками предсказания каждого из блоков 1010 кодирования, и блоки 1070 преобразования являются блоками преобразования каждого из блоков 1010 кодирования.
Когда глубина максимального блока кодирования в блоках 1010 кодирования равна 0, глубины блоков 1012 и 1054 кодирования равны 1, глубины блоков 1014, 1016, 1018, 1028, 1050 и 1052 кодирования равны 2, глубины блоков 1020, 1022, 1024, 1026, 1030, 1032 и 1048 кодирования равны 3, и глубины блоков 1040, 1042, 1044 и 1046 кодирования равны 4.
В блоках 1060 предсказания, некоторые блоки 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования получаются посредством разбиения блоков кодирования в блоках 1010 кодирования. Другими словами, типы разбиений в блоках 1014, 1022, 1050, и 1054 кодирования имеют размер 2N×N, типы разбиений в блоках 1016, 1048, и 1052 кодирования имеют размер N×2N, и тип разбиения блока 1032 кодирования имеет размер N×N. Блоки предсказания блоков 1010 кодирования являются меньшими чем или равными каждому блоку кодирования.
Преобразование или обратное преобразование осуществляется на данных об изображении блока 1052 кодирования в блоках 1070 преобразования в блоке данных, то есть меньших, чем блок 1052 кодирования. Кроме того, блоки 1014, 1016, 1022, 1032, 1048, 1050, и 1052 кодирования в блоках 1070 преобразования являются отличными от тех в блоках 1060 предсказания, исходя из размеров и форм. Другими словами, устройства 100 и 200 кодирования и декодирования видео могут осуществлять внутреннее предсказание, оценку движения, компенсацию движения, преобразование и обратное преобразование по отдельности на блоке данных в том же блоке кодирования.
Фиг. 11 - таблица, показывающая информацию кодирования, согласно блокам кодирования, согласно примерному варианту осуществления.
Блок 140 вывода информации кодирования устройства 100 кодирования видео может кодировать информацию кодирования, согласно блокам кодирования, и устройство 220 извлечения информации кодирования устройства 200 кодирования видео может извлекать информацию кодирования согласно блокам кодирования.
Информация кодирования может включать в себя информацию о разбиении блока кодирования, информацию о типе разбиения, информацию о режиме предсказания и информацию о размере блока преобразования. Информация кодирования, показанная на Фиг. 11, является только примерной информацией, которая может устанавливаться посредством устройства 100 кодирования видео и устройства 200 декодирования видео, и ими не ограничена.
Информация о разбиении может указывать глубину кодирования соответствующего блока кодирования. Другими словами, поскольку глубина кодирования является глубиной, которая больше не разбивается, согласно информации о разбиении, информация о типе разбиения, режиме предсказания и размере блока преобразования может устанавливаться для глубины кодирования. Если текущий блок кодирования является дополнительным разбиением, согласно информации о разбиении, кодирование на четырех блоках кодирования разбиения большей глубины осуществляется независимо.
Информация о типе разбиения может указывать тип разбиения блока преобразования блока кодирования в глубине кодирования в качестве одного из 2N×2N, 2N×N, N×2N, и N×N. Режим предсказания может указывать режим предсказания движения в качестве одного из внутреннего режима, внешнего режима и режима чередования. Внутренний режим может задаваться только в типах разбиения 2N×2N и N×N, и режим чередования может задаваться только в типе разбиения 2N×2N. Блок преобразования может иметь два размера во внутреннем режиме и два размера во внешнем режиме.
Информация кодирования согласно блокам кодирования, в глубине кодирования, может быть включена в минимальный блок кодирования в блоке кодирования. Соответственно, посредством проверки информацию кодирования, включенной в соседние минимальные блоки кодирования, может быть определено, являются ли соседние минимальные блоки кодирования включенными в блоки кодирования, имеющие одну и ту же глубину кодирования. Кроме того, поскольку блок кодирования соответствующей глубины кодирования может определяться посредством использования информации кодирования, включенной в минимальный блок кодирования, распределение глубин кодирования минимального блока кодирования может выводиться логически.
Внутреннее предсказание, осуществляемое внутренним предсказателем 410 устройства 100 декодирования видео, проиллюстрированным на фиг. 4, и внутренним предсказателем 550 устройства 200 декодирования видео, проиллюстрированным на фиг. 5, будет сейчас подробно описано. В последующем описании блок кодирования относится к текущему блоку кодирования в процессе кодирования изображения, и блок декодирования относится к текущему блоку декодирования в процессе декодирования изображения. Блок кодирования и блок декодирования отличаются только в том, что блок кодирования используется в процессе кодирования, и блок декодирования используется в процессе декодирования. Для согласованности, за исключением конкретного случая, блок кодирования и блок декодирования называют блоком кодирования как в процессе кодирования, так и декодирования.
Фиг. 12А-12С изображают схемы форматов компоненты яркости изображения и компоненты цветности изображения, согласно примерному варианту осуществления.
Каждый блок кодирования, формирующий один кадр, может быть выражен с использованием одного из трех компонентов, то есть Y, Cb, и Cr. Y является данными о яркости, имеющими информацию о яркости, и Cb и Cr являются данными о цветности, имеющими информацию о цветности.
Данные о яркости могут выражаться, используя более низкий объем данных, чем данные о яркости, исходя из того, что человек является более чувствительным к информации о яркости, чем к информации о цветности. Со ссылкой на фиг. 12А один блок кодирования, имеющий формат 4:2:0, включает в себя данные 1210 о яркости, имеющие размер HxW (H и W положительные целые числа), и два элемента данных 1220 и 1230 о цветности, имеющие размер (H/2)×(W/2), полученные посредством выбора составляющих сигнала цветности Cb и Cr к 1/4. Со ссылкой на фиг. 12В один блок кодирования, имеющий формат 4:2:2, включает в себя данные 1240 о яркости, имеющие размер H×W (H и W положительные целые числа), и два элемента данных 1250 и 1260 о цветности, имеющие размер Hx(W/2), полученные посредством выбора составляющих сигнала цветности Cb и Cr к 1/2 в горизонтальном направлении. Также, со ссылкой на фиг. 12С, когда один блок кодирования имеет формат 4:4:4, блок кодирования включает в себя данные 1270 о яркости и данные 1280 и 1290 о цветности, каждый имеющий размер HxW без выбора составляющих сигналов цветности Cb и Cr для точного выражения изображения компоненты цветности.
Далее предполагается, что блок кодирования компоненты яркости и блок кодирования компоненты цветности, которые являются внутренне предсказываемыми, являются одним из сигналов изображения, имеющего форматы цвета 4:2:0, 4:2:2, и 4:4:4, определенные в YCbCr (или YUV) области цвета.
Эффективность предсказания блока кодирования компоненты цветности улучшается посредством включения режима внутреннего предсказания, определенного для блока кодирования компоненты яркости, в режимы-кандидаты внутреннего предсказания, применяемые к блоку кодирования компоненты цветности, с учетом взаимоотношения между компонентой яркости и компонентой цветности.
Фиг. 13 - таблица, показывающая количество режимов внутреннего предсказания, согласно размерам блоков кодирования компоненты яркости, согласно примерному варианту осуществления.
Согласно примерному варианту осуществления, количество режимов внутреннего предсказания, которые должны применяться к блоку кодирования компоненты яркости (блоку декодирования в процессе декодирования), может устанавливаться по-разному. Например, со ссылкой на фиг. 13, если размер блока кодирования компоненты яркости равен NxN, в отношении которого осуществляется внутреннее предсказание, количество режимов внутреннего предсказания, фактически осуществляемых в отношении 2×2, 4×4, 8×8, 16×16, 32×32, 64×64, и 128×128-размерных блоков кодирования, компоненты яркости могут соответственно устанавливаться как 5, 9, 9, 17, 33,5 и 5 (в Примере 2). Для другого примера, когда размер блока кодирования компоненты яркости, который должен быть внутренне предсказан, равен NxN, номера режимов внутреннего предсказания, которые должны фактически осуществляться в отношении блоков кодирования, имеющих размеры 2×2, 4×4, 8×8, 16×16, 32×32, 64×64, и 128×128, могут быть установлены, чтобы иметь значения 3, 17, 34, 34, 34,5 и 5. Номера режимов внутреннего предсказания, которые должны фактически осуществляться, устанавливаются по-разному, согласно размерам блоков кодирования компоненты яркости, так как служебные расходы для информации режима предсказания кодирования различаются, согласно размерам блоков кодирования компоненты яркости. Другими словами, малый блок кодирования компоненты яркости занимает малую часть всех данных изображения, но может иметь большие служебные расходы, для того чтобы передавать дополнительную информацию, такую, как информация о режиме предсказания блока кодирования компоненты яркости. Соответственно, если малый блок кодирования компоненты яркости является кодированным посредством использования чрезмерно большого количества режимов предсказания, количество битов может увеличиваться и таким образом эффективность сжатия может снижаться. Кроме того, большой блок кодирования компоненты яркости, например блок кодирования компоненты яркости больший, чем 64x64 или равный, в целом соответствует одноцветной области данных изображения, и таким образом кодирование большого блока кодирования компоненты яркости, с использованием чрезмерно большого количества режимов предсказания может также снижать эффективность сжатия.
Таким образом, согласно примерному варианту осуществления, блоки кодирования компоненты яркости грубо классифицируются на по меньшей мере три размера, таких как N1×N1 (где 2=N1=4, и N1 является целым числом), N2×N2 (где 8=N2=32, и N2 является целым числом), и N3×N3 (где 64=N3, и N3 является целым числом). Если количество режимов внутреннего предсказания, осуществляемых в отношении блоков кодирования компоненты яркости N1×N1 равно A1 (где A1 является положительным целым числом), количество режимов внутреннего предсказания, осуществляемых в отношении блоков кодирования компоненты яркости N2×N2, равно A2 (где A2 является положительным целым числом), и количество режимов внутреннего предсказания, осуществляемых в отношении блоков кодирования компоненты яркости N3×N3, равно A3 (где A3 является положительным целым числом). Количество режимов внутреннего предсказания, осуществляемых согласно размерам блоков кодирования компоненты яркости, может устанавливаться, чтобы удовлетворять A3=A1=A2. То есть, если текущий кадр разбивается на малые блоки кодирования компоненты яркости, средние блоки кодирования компоненты яркости и большие блоки кодирования компоненты яркости, средние блоки кодирования компоненты яркости могут устанавливаться, чтобы иметь большее количество режимов предсказания, и малые блоки кодирования компоненты яркости и большие блоки кодирования компоненты яркости могут устанавливаться, чтобы иметь относительно малое количество режимов предсказания. Однако примерный вариант осуществления ими не ограничен, также могут быть установлены и малые и большие блоки кодирования компоненты яркости, чтобы иметь большое количество режимов предсказания. Количество режимов предсказания, согласно размерам блоков кодирования компоненты яркости на фиг. 13, является только примерным и может быть изменено.
Фиг. 14А - таблица, показывающая режимы внутреннего предсказания применительно к блоку кодирования компоненты яркости, имеющему предопределенный размер, согласно примерному варианту осуществления.
Со ссылкой на фиг. 13 и 14А, например, когда внутреннее предсказание осуществляется на блоке кодирования компоненты яркости, имеющем размер 4×4, блок кодирования компоненты яркости может иметь вертикальный режим (режим 0), горизонтальный режим (режим 1), режим (DC) постоянного тока (режим 2), диагональный нижний левый режим (режим 3), диагональный нижний правый режим (режим 4), вертикальный правый режим (режим 5), горизонтальный нижний режим (режим 6), вертикальный левый режим (режим 7) и горизонтальный верхний режим (режим 8).
Фиг. 14В иллюстрирует направления режимов внутреннего предсказания, показанных на фиг. 14A. На фиг. 14В номера на наконечниках стрелок представляют режимы предсказания, соответствующие направлениям предсказания, указанным стрелками. Здесь, режим 2 является режимом DC, не имеющим направленности и таким образом не показан на фиг. 16B.
Фиг. 14С - схема для описания способа осуществления внутреннего предсказания на блоке кодирования компоненты яркости посредством использования режимов внутреннего предсказания, показанных на фиг. 14А, согласно примерному варианту осуществления.
Со ссылкой на фиг. 14С, блок предсказания кодирования генерируется согласно доступному режиму внутреннего предсказания, определенному согласно размеру текущего блока кодирования компоненты яркости, посредством использования соседних пикселей А по М текущего блока кодирования компоненты яркости. Например, операция осуществления предсказания кодирования в отношении текущего блока кодирования, имеющего размер 4x4 согласно режиму 0, то есть вертикальному режиму, показанному на фиг. 14А, будет описано. Вначале, значения соседних пикселей А по D в верхней стороне текущего блока кодирования являются предсказанными в качестве значения пикселя текущего блока кодирования. То есть значение соседнего пикселя А является предсказанным в качестве значения четырех пикселей в первом столбце текущего блока кодирования, значение соседнего пикселя В является предсказанным в качестве значения четырех пикселей во втором столбце текущего блока кодирования, значение соседнего пикселя С является предсказанным в качестве значения четырех пикселей в третьем столбце текущего блока кодирования, и значение соседнего пикселя D является предсказанным в качестве значения четырех пикселей в четвертом столбце текущего блока кодирования. После этого значения пикселя текущего блока кодирования, предсказанные посредством использования соседних пикселей А по D, вычитаются из значений пикселя исходного текущего блока кодирования для вычисления значения ошибки, и затем значение ошибки кодируется.
Фиг. 15 - схема для разъяснения режимов внутреннего предсказания применительно к блоку кодирования компоненты яркости, имеющему предопределенный размер, согласно примерному варианту осуществления.
Со ссылкой на фиг. 13 и 15, например, когда осуществляется внутреннее предсказание на блоке кодирования, имеющем размер 2x2, блок кодирования может иметь в сумме пять режимов, таких как вертикальный режим, горизонтальный режим, режим DC, плоскостной режим и диагональный нижний правый режим.
Между тем, если блок кодирования компоненты яркости, имеющий размер 32×32, имеет 33 режима внутреннего предсказания, как показано на фиг. 13, направления 33 режимов внутреннего предсказания должны быть установлены. Согласно примерному варианту осуществления, для того чтобы установить режимы внутреннего предсказания, имеющие различные направления, в дополнение к режимам внутреннего предсказания, проиллюстрированным на фиг. 14 и 15, направления предсказания для выбора соседних пикселей, используемых в качестве опорных пикселей блока кодирования компоненты яркости, устанавливаются посредством использования параметров (dx, dy). Например, если каждый из 33 режимов предсказания определяется в качестве режима N (где N является целым числом от 0 до 32), режим 0 может устанавливаться в качестве вертикального режима, режим 1 может устанавливаться в качестве горизонтального режима, режим 2 может устанавливаться в качестве режима DC, режим 3 может устанавливаться в качестве плоскостного режима, и каждый от режима 4 по режим 31 может быть определен в качестве режима предсказания, имеющего направленность 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.
Режим 32 может устанавливаться в качестве билинейного режима, который использует билинейную интерполяцию, как будет описано позже со ссылкой на фиг. 16.
Фиг. 16а-16с - ссылочные схемы для разъяснения режимов внутреннего предсказания блока кодирования компоненты яркости, имеющего различные направленности, согласно примерному варианту осуществления.
Как описано выше со ссылкой на таблицу 1, каждый из режимов внутреннего предсказания, согласно примерным вариантам осуществления, могут иметь направленности tan-1 (dy/dx) посредством использования множества (dx, dy) параметров.
Со ссылкой на фиг. 16А, соседние пиксели А и В на прямой 160, которая тянется из текущего пикселя Р в текущий блок кодирования компоненты яркости, которая должна быть предсказана, в углу tan-1(dy/dx,) определенном посредством значения параметра (dx, dy) согласно режиму, как показано в таблице 1, может использоваться как предсказатель текущего пикселя Р. В этом случае, соседние пиксели А и В могут быть пикселями, которые были закодированы и восстановлены и принадлежат предшествующим блокам кодирования, расположенным над и слева от текущего блока кодирования. Кроме того, когда прямая 160 не проходит по соседним пикселям на расположениях, каждое имеющее целочисленное значение, но проходящего между этими соседними пикселями, соседние пиксели, более ближние к прямой 160, могут использоваться в качестве предсказателей текущего пикселя Р. Кроме того, взвешенное среднее значение, учитывая расстояние между пересечением прямой 160 и соседними пикселями, близкими к прямой 160, может использоваться в качестве предсказателя для текущего пикселя Р. Если два пикселя, которые соприкасаются с прямой 160, например соседний пиксель А, расположенный выше текущего пикселя Р, и соседний пиксель В, расположенный слева от текущего пикселя Р, присутствуют, среднее значение значений пикселя соседних пикселей А и В может использоваться в качестве предсказателя текущего пикселя Р. В противном случае, если продукт значений параметров dx и dy является положительным значением, соседний пиксель А может использоваться, и если продукт значений параметров dx и dy является отрицательным значением, может использоваться соседний пиксель В.
Фиг. 16В и 16С - ссылочные схемы для разъяснения процесса генерирования предсказателя, когда прямая 160 на фиг. 16А проходит между, а не через соседние пиксели целочисленных расположений.
Со ссылкой на фиг. 16В, если прямая 160, имеющая угол tan-1(dy/dx), то есть определенный согласно (dx, dy) каждого режима, проходит между соседним пикселем А 161 и соседним пикселем В 162 целочисленных расположений, взвешенное среднее значение, учитывая расстояние между пересечением расширенной прямой 160 и соседними пикселями А 161 и В 162 близко к расширенной прямой 160, может использоваться в качестве предсказателя, как описано выше. Например, если расстояние между соседним пикселем А 161 и пересечением расширенной линии 160, имеющей угол tan-1(dy/dx), является f, и расстояние между соседним пикселем В 162 и пересечением расширенной прямой 160 является g, предсказатель для текущего пикселя Р может быть получен как (A*g+B*f)/(f+g). Здесь, f и g, могут быть каждым нормализованным расстоянием, использующим целое число. Если используется программное обеспечение или аппаратные средства, предсказатель для текущего пикселя Р может быть получен посредством операции сдвига как (g*A+f*B+2)>>2. Как показано на Фиг. 16В, если расширенная прямая 160 проходит через первую четверть вблизи соседнего пикселя А 161 из числа четырех частей полученных посредством разделения расстояния между соседним пикселем А 161 и соседним пикселем В 162 целочисленных расположений, предсказатель для текущего пикселя Р может быть получен как (3*A+B)/4. Такая операция может осуществляться посредством операции сдвига, учитывая округление до ближайшего целого числа как (3*A+B+2) >>2.
Между тем, если расширенная прямая 160, имеющая угол tan-1 (dy/dx), то есть определенный согласно (dx, dy) каждому режиму проходит между соседним пикселем А 161 и соседним пикселем В 162 целочисленных расположений, часть между соседним пикселем А 161 и соседним пикселем В 162 может делиться на предопределенное количество областей и взвешенное среднее значение, учитывая расстояние между пересечением и соседним пикселем А 161 и соседним пикселем В 162 в каждой поделенной области, может использоваться в качестве значения предсказания. Например, со ссылкой на фиг. 16С, часть между соседним пикселем А 161 и соседним пикселем В 162 может делиться на пять частей с Р1 по Р5, как показано на фиг. 16С, представительное взвешенное среднее значение, учитывая расстояние между пересечением и соседним пикселем А 161, и соседним пикселем В 162 в каждой части может быть определено, и представительное взвешенное среднее значение, может использоваться в качестве предсказателя для текущего пикселя Р. Подробно, если расширенная прямая 160 проходит через часть Р1, значение соседнего пикселя А может определяться в качестве предсказателя для текущего пикселя Р. Если расширенная прямая 160 проходит через часть Р2, взвешенное среднее значение (3*A+1*B+2)>>2, учитывая расстояние между соседними пикселями А и В и средней точкой части Р2, может быть определено в качестве предсказателя для текущего пикселя Р. Если расширенная прямая 160 проходит через часть Р3, взвешенное среднее значение (2*A+2*B+2)>>2, учитывая расстояние между соседними пикселями А и В и средней точкой части Р3, может быть определено в качестве предсказателя для текущего пикселя Р. Если расширенная прямая 160 проходит через часть Р4, взвешенное среднее значение(1*A+3*B+2)>>2, учитывая расстояние между соседними пикселями А и В и средней точкой части Р4, может быть определено в качестве предсказателя для текущего пикселя Р. Если расширенная прямая 160 проходит через часть Р5, взвешенное среднее значение (1*A+3*B+2)>>2, учитывая расстояние до соседнего пикселя В, может быть определено в качестве предсказателя для текущего пикселя Р.
Кроме того, если два соседних пикселя, то есть соседний пиксель А на верхней стороне и соседний пиксель В по левую сторону удовлетворяет расширенной прямой 160, как показано на фиг. 16А, среднее значение соседнего пикселя А и соседнего пикселя В может использоваться в качестве предсказателя для текущего пикселя Р, или если (dx*dy) является положительным значением, соседний пиксель А на верхней стороне может использоваться, и если (dx*dy) является отрицательным значением, может использоваться соседний пиксель В на левой стороне.
Режимы внутреннего предсказания, имеющие различные направленности, показанные в таблице 1, могут быть предопределены посредством стороны кодирования и стороны декодирования, и может передаваться только индекс режима внутреннего предсказания каждого блока кодирования.
Фиг. 17 - ссылочная схема для разъяснения билинейного режима, согласно примерному варианту осуществления.
Со ссылкой на фиг. 17, в билинейном режиме среднее геометрическое рассчитывается учитывая значение текущего пикселя Р 170, в текущем блоке кодирования компоненты яркости, которое должно быть предсказано, значения пикселей на верхней, нижней, левой и правой границах текущего блока кодирования компоненты яркости и расстояниях между текущем пикселем Р 170 и верхней, нижней, левой и правой границах текущего блока кодирования компоненты яркости. Среднее геометрическое затем используется в качестве предсказателя текущего пикселя Р 170. Например, в билинейном режиме среднее геометрическое рассчитанное, используя виртуальный пиксель А 171, виртуальный пиксель В 172, пиксель D 176 и пиксель 177, расположенный на верхней, нижней, левой и правой сторонах текущего пикселя Р 170 и верхней, нижней, левой и правой границах текущего блока кодирования компоненты яркости, используется в качестве предсказателя текущего пикселя Р 170. Поскольку билинейный режим является одним из режимов внутреннего предсказания, соседние пиксели, которые были закодированы и восстановлены, и принадлежат предшествующим блокам кодирования компоненты яркости, используются в качестве опорных пикселей для предсказания. Таким образом, значения пикселей в текущем блоке кодирования компоненты яркости не используются, но значения виртуальных пикселей, рассчитанные, используя соседние пиксели, расположенные на верхних и левых сторонах текущего блока кодирования компоненты яркости, используются в качестве пикселя А 171 и пикселя В 172.
Конкретно, первое значение виртуального пикселя С 173, на нижней самой правой точке текущего блока кодирования компоненты яркости, рассчитывается посредством расчетов среднего из значений соседних пикселей (правого верхнего пикселя) 174 на верхней самой правой точке текущего блока кодирования компоненты яркости и соседнего пикселя (левого нижнего пикселя) 175, на нижней самой правой точке текущего блока кодирования компоненты яркости, как выражено в Уравнении 1 ниже:
[Уравнение 1]
C=0,5(LeftDownPixel+RightUpPixel)
Далее, значение виртуального пикселя А 171, расположенного на самой нижней границе текущего блока кодирования компоненты яркости, когда текущий пиксель Р 171 расширен в нижнем направлении с учетом расстояния W1 между текущим пикселем Р 170 и левой границей текущего блока кодирования компоненты яркости и расстоянием W2 между текущим пикселем Р 170 и правой границей текущего блока кодирования компоненты яркости, рассчитывается посредством использования Уравнения 2 ниже:
[Уравнение 2]
A=(C*W1+LeftDownPixel*W2)/(W1+W2);
A=(C*W1+LeftDownPixel*W2+((W1+W2)/2))/(W1+W2),
когда значение W1+W2 в уравнении 2 является степенью 2 как 2^n,
A=(C*W1+LeftDownPixel*W2+((W1+W2)/2))/(W1+W2)
может рассчитываться посредством операции сдвига как A=(C*W1+LeftDownPixel*W2+2^(n-1))>>n без разделения.
Подобным образом, значение виртуального пикселя А 172, расположенного на самой правой границе текущего блока кодирования компоненты яркости, когда текущий пиксель Р 170 является расширяемым в правом направлении с учетом расстояния h1 между текущим пикселем Р 170 и верхней границей текущего блока кодирования компоненты яркости и расстоянием h2 между текущим пикселем Р 170 и нижней границей текущего блока кодирования компоненты яркости, рассчитывается посредством использования Уравнения 3 ниже:
[Уравнение 3]
B=(C*h1+RightUpPixel*h2)/(h1+h2)
B=(C*h1+RightUpPixel*h2+((h1+h2)/2))/(h1+h2),
когда значение h1+h2 в Уравнении 3 является степенью 2 подобно 2^m,
B=(C*h1+RightUpPixel*h2+((h1+h2)/2))/(h1+h2)
может рассчитываться посредством операции сдвига как B=(C*h1+RightUpPixel*h2+2^(m-1))>>m без разделения.
Раз значения виртуального пикселя В 172 на правой границе и виртуального пикселя А 171 на нижней границе текущего пикселя Р 170 определяются посредством использования Уравнений 1-3, предсказатель для текущего пикселя Р 170 может определяться посредством использования среднего значения A+B+D+E. Подробно, взвешенное среднее значение, учитывая расстояние между текущим пикселем Р 170 и виртуальным пикселем А 171, виртуальный пиксель В 172, пиксель D 176 и пиксель Е 177 или среднее значение A+B+D+E может использоваться в качестве предсказателя для текущего пикселя Р 170. Например, если взвешенное среднее значение используется и размер блока равен 16x16, предсказатель для текущего пикселя Р может быть получен как (h1*A+h2*D+W1*B+W2*E+16)>>5. Такое билинейное предсказание применяется ко всем пикселям в текущем блоке кодирования, и генерируется блок предсказания кодирования текущего блока кодирования в режиме билинейного предсказания.
Согласно примерному варианту осуществления, предсказание кодирования осуществляется согласно различным режимам внутреннего предсказания, определенным согласно размеру блока кодирования компоненты яркости, тем самым предоставляя возможность эффективного сжатия видео на основании характеристик изображения.
Поскольку большее количество режимов внутреннего предсказания, чем режимов внутреннего предсказания, используемых в традиционном кодеке, используется согласно размеру блока кодирования, согласно примерному варианту осуществления, совместимость с традиционным кодеком может стать проблемой. В уровне техники, самое большее могут использоваться 9 режимов внутреннего предсказания, как показано на фиг. 14A и 14B. Соответственно, является необходимым отображать режимы внутреннего предсказания, имеющие различные направления, выбранные согласно примерному варианту осуществления одного из меньшего количества режимов внутреннего предсказания. То есть, когда количество доступных режимов внутреннего предсказания текущего блока кодирования равно N1 (N1 является целым числом), для того чтобы сделать доступные режимы внутреннего предсказания текущего блока кодирования совместимыми с блоком кодирования предопределенного размера, включающего в себя N2 (N2 является целым числом отличным от N1) режимов внутреннего предсказания, режимы внутреннего предсказания текущего блока кодирования могут отображаться на режим внутреннего предсказания, имеющий наиболее похожее направление из числа N2 режимов внутреннего предсказания. Например, доступны всего 33 режима внутреннего предсказания, как показано в таблице 1, в текущем блоке кодирования, и предполагается, что режим внутреннего предсказания в заключении применяется к текущему блоку кодирования представляет собой режим 14, то есть (dx,dy)=(4,3), имеющий ориентированность tan-1 (3/4)?36,87 (градусов). В этом случае, для того чтобы привести в соответствие режим внутреннего предсказания, примененный к текущему блоку с одним из 9 режимов внутреннего предсказания, как показано на фиг. 14А и 14В, может выбираться режим 4 (нижний правый), имеющий наиболее похожую ориентированность к ориентированности 36,87 (градусов). То есть режим 14 таблицы 1 может отображаться на режим 4, показанный на фиг. 14B. Также, если режим внутреннего предсказания, применяемый к текущему блоку кодирования выбран, чтобы быть режимом 15, то есть (dx,dy)=(1,11), из числа 33 доступных режимов внутреннего предсказания таблицы 1, поскольку ориентированность режима внутреннего предсказания, применяемого к текущему блоку кодирования tan-1 (11)?84,80 (градусов), режим 0 (вертикальный) на фиг. 14В, имеющий наиболее схожую ориентированность к ориентированности 84,80 (градусов), может отображаться на режим 15.
Между тем, для того чтобы декодировать блок кодирования компоненты яркости закодированный посредством внутреннего предсказания, требуется информация о режиме предсказания, чтобы определять, какой режим внутреннего предсказания используется для кодирования текущего блока кодирования компоненты яркости. Соответственно, когда изображение кодируется, информация о режиме внутреннего предсказания текущего блока кодирования компоненты яркости добавляется в битовый поток. В это время, служебное сигнализированное может увеличиваться, тем самым, уменьшая эффективность сжатия, если информация о режиме внутреннего предсказания каждого блока кодирования компоненты яркости добавляется в битовый поток.
Поэтому, согласно примерному варианту осуществления, вместо передачи информации о режиме внутреннего предсказания текущего блока кодирования компоненты яркости, которая определена в качестве результата кодирования текущего блока кодирования компоненты яркости, передается только отличие значения между фактическим значением режима внутреннего предсказания и предсказанным значением режима внутреннего предсказания, который предсказан из соседнего блока кодирования компоненты яркости.
Фиг. 18 - схема для разъяснения процесса генерирования значения предсказания режима внутреннего предсказания текущего блока А 180 кодирования компоненты яркости, согласно примерному варианту осуществления.
Со ссылкой на фиг. 18, режим внутреннего предсказания текущего блока кодирования компоненты яркости А 180 может быть предсказан из режимов внутреннего предсказания, определенных в соседних блоках кодирования компоненты яркости. Например, когда режим внутреннего предсказания левого блока кодирования компоненты яркости В 181 является режимом 3, и режим внутреннего предсказания верхнего блока кодирования компоненты яркости С 182 является режимом 4, режим внутреннего предсказания текущего блока кодирования компоненты яркости А 180 может быть предсказан, чтобы быть режимом 3, который имеет меньшее значение из числа режимов внутреннего предсказания верхнего блока кодирования компоненты яркости С 182 и левого блока кодирования компоненты яркости В 181. Если режим внутреннего предсказания, определенный в результате фактически осуществляемого внутреннего предсказания кодирования на текущем блоке кодирования компоненты яркости А 180, является режимом 4, только 1, то есть отличие значения с режимом 3, составляющее режим внутреннего предсказания из соседних блоков кодирования компоненты яркости, передается в качестве информации о режиме внутреннего предсказания. Значение предсказания режима внутреннего предсказания текущего блока декодирования компоненты яркости генерируется таким же образом, во время декодирования, и значение отличия, принятое посредством битового потока, добавляется к предсказанному значению, тем самым получаемая информация о режиме внутреннего предсказания фактически применяется к текущему блоку декодирования компоненты яркости. В вышеприведенном описании только верхние и левые соседние блоки С и В 182 и 181 кодирования, блока А 180 кодирования компоненты яркости используются, но альтернативно, режим внутреннего предсказания текущего блока А кодирования компоненты яркости может предсказываться посредством использования других соседних блоков Е и D кодирования компоненты яркости фиг. 18. Режим внутреннего предсказания блока кодирования компоненты яркости может использоваться для предсказания режима внутреннего предсказания блока кодирования компоненты цветности, который будет описан позже.
Между тем, поскольку режим внутреннего предсказания фактически осуществляется различно, согласно размерам блоков кодирования компоненты яркости, режим внутреннего предсказания, предсказанный из соседних блоков кодирования компоненты яркости, может не соответствовать режиму внутреннего предсказания текущего блока кодирования компоненты яркости. Соответственно, для того чтобы предсказывать режим внутреннего предсказания текущего блока кодирования компоненты яркости, из соседних блоков кодирования компоненты яркости, имеющих различные размеры, требуется процесс отображения для отображения различных режимов внутреннего предсказания блоков кодирования компоненты яркости.
Фиг. 19А и 19В - ссылочные схемы для разъяснения процесса отображения (преобразования) режимов внутреннего предсказания между блоками кодирования компоненты яркости, имеющими различные размеры, согласно примерному варианту осуществления.
Со ссылкой на фиг. 19А, текущий блок А 190 кодирования компоненты яркости, имеющий размер 16x16, левый блок В 191 кодирования компоненты яркости имеет размер 8×8, и верхний блок С 192 кодирования компоненты яркости имеет размер 4×4. Так же, как описано со ссылкой на фиг. 13, номера режимов внутреннего предсказания, используемых в блоках кодирования компоненты яркости, соответственно имеющих размеры 4×4, 8×8, и 16×16, являются соответственно 9, 9, и 33. Здесь, поскольку режимы внутреннего предсказания, используемые в левом блоке В 191 кодирования, компоненты яркости и верхнем блоке С 192 кодирования, компоненты яркости отличаются от режимов внутреннего предсказания, используемых в текущем блоке А 190 кодирования компоненты яркости, режим внутреннего предсказания, предсказанный из левого и верхнего блоков В и С 191 и 192 кодирования компоненты яркости, может не быть подходящим для использования в качестве значения предсказания режима внутреннего предсказания текущего блока А 190 кодирования компоненты яркости. Соответственно, в текущем примерном варианте осуществления режимы внутреннего предсказания левого и верхнего блоков В и С 191 и 192 кодирования компоненты яркости, соответственно меняются на первый и второй показательные режимы внутреннего предсказания в наиболее схожем направлении из числа предопределенного количества показательных режимов внутреннего предсказания, и один из первого и второго показательных режимов внутреннего предсказания, который имеет меньшее значение режима, выбирается в качестве окончательного режима внутреннего предсказания. Затем, режим внутреннего предсказания, имеющий наиболее схожее направление как окончательный показательный режим внутреннего предсказания, выбирается из числа режимов внутреннего предсказания, используемых в текущем блоке А 190 кодирования компоненты яркости, в качестве режима внутреннего предсказания текущего блока А 190 кодирования компоненты яркости.
Альтернативно, со ссылкой на фиг. 19В, предполагается, что текущий блок А кодирования компоненты яркости имеет размер 16x16, левый блок В кодирования компоненты яркости имеет размер 32x32, и верхний блок С кодирования компоненты яркости имеет размер 8x8. Кроме того, предполагается, что номера доступных режимов внутреннего предсказания блоков кодирования компоненты яркости, имеющих размеры 8×8, 16×16 и 32×32, являются соответственно 9, 9, и 33. Кроме того, предполагается, что режим внутреннего предсказания левого блока В кодирования компоненты яркости является режимом 4, и режим внутреннего предсказания верхнего блока С кодирования компоненты яркости является режимом 31. В этом случае, поскольку режимы внутреннего предсказания левого блока В кодирования компоненты яркости и верхнего блока С кодирования компоненты яркости не являются совместимыми с друг с другом, каждый из режимов внутреннего предсказания левого блока В кодирования компоненты яркости и верхнего блока С кодирования компоненты яркости, отображаются на один из показательных режимов внутреннего предсказания, показанный на фиг. 20. Поскольку режим 31, то есть режим внутреннего предсказания левого блока В кодирования компоненты яркости имеет ориентированность (dx,dy)=(4, -3), как показано в таблице 1, режим 5 имеет наиболее схожую ориентированность к tan-1 (-3/4) из числа показательных режимов внутреннего предсказания фиг. 20, отображается, и поскольку режим внутреннего предсказания - режим 4 верхнего блока С кодирования компоненты яркости имеет ту же ориентированность, что и режим 4, из числа показательных режимов внутреннего предсказания фиг. 20 отображается режим 4.
Режим 4, имеющий меньшее значение режима из числа режима 5, то есть отображенный режим внутреннего предсказания левого блока В кодирования компоненты яркости и режим 4, то есть отображенный режим внутреннего предсказания верхнего блока С кодирования компоненты яркости может быть определен, чтобы быть значением предсказания режима внутреннего предсказания текущего блока кодирования компоненты яркости, и только значение разницы режимов между фактическим режимом внутреннего предсказания и предсказанным режимом внутреннего предсказания текущего блока кодирования компоненты яркости может кодироваться в качестве информации о режиме предсказания текущего блока кодирования компоненты яркости.
Фиг. 20 - ссылочная схема для разъяснения процесса отображения режима внутреннего предсказания соседнего блока кодирования компоненты яркости на один из показательных режимов внутреннего предсказания. На фиг. 20 вертикальный режим 0, горизонтальный режим 1, режим DC 2, диагональный - левый режим 3, диагональный - правый режим 4, вертикальный - правый режим 5, горизонтальный - нижний режим 6, вертикальный - левый режим 7 и горизонтальный - верхний режим 8 показаны в качестве показательных режимов внутреннего предсказания. Однако показательные режимы внутреннего предсказания ими не ограничены и могут устанавливаться, чтобы иметь различные направленности.
Со ссылкой на фиг. 20, устанавливается предопределенное количество показательных режимов внутреннего предсказания, и режим внутреннего предсказания соседнего блока кодирования компоненты яркости отображается в качестве показательного режима внутреннего предсказания, имеющего наиболее схожее направление. Например, когда режим внутреннего предсказания верхнего блока кодирования компоненты яркости имеет направленность, указанную на РЕЖИМ А 200, режим внутреннего предсказания РЕЖИМ_А 200 верхнего блока кодирования компоненты яркости отображается на режим 1, имеющий наиболее схожее направление из числа предопределенных показательных режимов внутреннего предсказания с 1 по 9. Подобным образом, когда режим внутреннего предсказания левого блока кодирования компоненты яркости имеет направленность, указанную на РЕЖИМ_В 201, режим внутреннего предсказания РЕЖИМ_В 201 левого блока кодирования компоненты яркости отображается на режим 5, имеющий наиболее схожее направление из числа предопределенных показательных режимов внутреннего предсказания с 1 по 9.
Затем, один из первого и второго показательных режимов внутреннего предсказания, имеющих меньшее значение режима, выбирается в качестве показательного режима внутреннего предсказания окончательного соседнего блока кодирования компоненты яркости. Отбирается показательный режим внутреннего предсказания, имеющий меньшее значение режима, поскольку меньшее значение режима обычно устанавливается для режимов внутреннего предсказания, которые возникают чаще. Другими словами, когда предсказываются различные режимы внутреннего предсказания на основании соседних блоков кодирования компоненты яркости, более вероятно должен возникать режим внутреннего предсказания, имеющий меньшее значение режима. Соответственно, когда различные режимы внутреннего предсказания конкурируют друг с другом, режим внутреннего предсказания, имеющий меньшее значение режима, может выбираться в качестве предсказателя или режима внутреннего предсказания текущего блока кодирования компоненты яркости.
Даже когда показательный режим внутреннего предсказания выбирается на основании соседних блоков кодирования компоненты яркости, выбранный показательный режим внутреннего предсказания может не использоваться в качестве предсказателя режима внутреннего предсказания текущего блока кодирования компоненты яркости. Если текущий блок А 190 кодирования компоненты яркости имеет 33 режима внутреннего предсказания и количество показательных режимов внутреннего предсказания равно 9, как описано со ссылкой на фиг. 19, режим внутреннего предсказания текущего блока А 190 кодирования компоненты яркости, который соответствует показательному режиму внутреннего предсказания, не существует. В этом случае, подобно отображению режима внутреннего предсказания соседнего блока кодирования компоненты яркости, как описано выше, режим внутреннего предсказания, имеющий наиболее схожее направление, как показательный режим внутреннего предсказания, выбранный из числа режимов внутреннего предсказания, согласно размеру текущего блока кодирования компоненты яркости, может быть окончательно выбран в качестве предсказателя режима внутреннего предсказания текущего блока кодирования компоненты яркости. Например, когда показательный режим внутреннего предсказания окончательно выбранный на основании соседнего блока кодирования компоненты яркости из фиг. 20 является режимом 1, режим внутреннего предсказания, имеющий направленность наиболее схожую с направленностью из режима 1, является выбранным из числа режимов, используемых согласно размеру текущего блока кодирования компоненты яркости в качестве предсказателя режима внутреннего предсказания текущего блока кодирования компоненты яркости.
Между тем, как описано со ссылкой на фиг. 16А-16С, если предсказатель для текущего пикселя Р генерируется посредством использования соседних пикселей на или близких к расширенной прямой 160, расширенная прямая 160 имеет фактическую ориентированность tan-1(dy/dx). Для того чтобы рассчитать ориентированность, поскольку деление (dy/dx) необходимо, выполняется расчет до десятичных знаков, когда используются аппаратные средства или программное обеспечение, тем самым увеличивая количество расчетов. Соответственно, процесс установки dx и dy используется для того, чтобы сократить количество расчетов, когда направление предсказания для выбора соседних пикселей, которые должны использоваться в качестве опорных пикселей, о пикселе в блоке кодирования устанавливается посредством использования параметров dx, и dy образом подобным этому, описано со ссылкой на Таблицу 1.
Фиг. 25 - схема для разъяснения взаимоотношения между текущим пикселем и соседними пикселями, расположенными на расширенной прямой, имеющей ориентированность (dy/dx), согласно примерному варианту осуществления.
Со ссылкой на фиг. 25, предполагается, что расположение текущего пикселя Р (j,i) и верхнего соседнего пикселя и левого соседнего пикселя В, расположенного на расширенной прямой 2510, имеющей ориентированность, то есть градиент, tan-1 (dy/dx) и проходящей через текущий пиксель Р соответственно А и В. Когда предполагается, что расположения верхних соседних пикселей соответствуют оси Х на координатной плоскости, и расположения соседних пикселей слева соответствуют оси У на координатной плоскости, соседний пиксель А сверху расположен в (j+i*dx/dy,0), и соседний пиксель В слева расположен в (0,i+j*dy/dx). Соответственно, для того чтобы определить любой один из соседнего пикселя А сверху и соседнего пикселя слева для предсказания текущего пикселя Р, требуется деление, такое как dx/dy или dy/dx. Такое разделение является очень сложным, как описано выше, тем самым снижается скорость расчетов программного обеспечения или аппаратных средств.
Соответственно, значение любого одного dx и dy, представляющего ориентированность режима предсказания для определения соседних пикселей, может определяться, чтобы быть степенью из 2. То есть, когда n и m являются целыми числами, dx и dy могут быть 2^n и 2^m соответственно.
Со ссылкой на фиг. 25, если соседний слева пиксель В используется в качестве предсказателя для текущего пикселя Р, и dx имеет значение 2^n, j*dy/dx, необходимо определять п, (0,i+j*dy/dx), то есть расположение соседнего слева пикселя В становится (j*dy/(2^n)), и разделение, использующее такую степень из 2, легко получается посредством операции сдвига как (j*dy)>>n, тем самым уменьшая количество расчетов.
Также, если соседний сверху пиксель А используется в качестве предсказателя для текущего пикселя Р и dy имеет значение 2^m, i*dx/dy, необходимо определять(j+i*dy/dx), то есть расположение соседнего сверху пикселя А становится(i*dx/(2^m)), и разделение, использующее такую степень из 2, легко получается посредством операции сдвига как (i*dx)>>m, тем самым уменьшая количество расчетов.
Фиг. 26 - схема для разъяснения изменения в соседнем пикселе, расположенном на расширенной прямой, имеющей ориентированность (dx, dy) согласно расположению текущего пикселя, согласно примерному варианту осуществления.
Так как соседний пиксель необходим для предсказания, согласно расположению текущего пикселя, выбирается любой из соседнего сверху и соседнего слева пикселя.
Со ссылкой на фиг. 26, когда текущий пиксель 2610 является P(j,i) и предсказан использованием соседнего пикселя, расположенного в направлении предсказания, верхний пиксель А используется для предсказания текущего пикселя Р 2610. Когда текущий пиксель 2610 является Q(b,a), пиксель слева В используется для предсказания текущего пикселя Q 2620.
Если только компонент dy направления оси у из числа (dx, dy) представленного направления предсказания имеет степень 2, подобную 2^m, наряду с пикселем А сверху на фиг. 26 может определяться посредством операции сдвига без разделения такого как (j+(i*dx)>>m, 0), пиксель В слева требует разделения такого как (0, a+b*2^m/dx). Соответственно, для того чтобы исключить разделение, когда предсказатель генерируется для всех пикселей текущего блока, все из dx и dy могут иметь тип степени из 2.
Фиг. 27 и 28 схемы для разъяснения способа определения направления режима внутреннего предсказания, согласно примерному варианту осуществления.
В общем, есть много случаев, где линейные шаблоны, показанные в изображении или видеосигнале, являются вертикальными или горизонтальными. Соответственно, когда режимы внутреннего предсказания, имеющие различные ориентированности определены посредством использования параметров dx и dy, эффективность кодирования изображения может улучшаться посредством определения значений dx и dy как следующих.
Подробно, если dy имеет фиксированное значение 2^m, абсолютное значение dx может быть установлено так, чтобы расстояние между направлениями предсказания, близкими к вертикальному направлению, являлось узким, и расстояние между режимами предсказания, близкими к горизонтальному направлению, являлось широким. Например, со ссылкой на фиг. 27, если dy имеет значение 2^4, то есть 16, значение dx может быть установлено, чтобы быть 1, 2, 3, 4, 6, 9, 12, 16, 0, -1, -2, -3, -4, -6, -9, -12, -16 так, чтобы расстояние между направлениями предсказания, близкими к вертикальному направлению, являлось узким, и расстояние между режимами предсказания, близкими к горизонтальному направлению, являлось более широким.
Также, если dx имеет фиксированное значение 2^n, абсолютное значение dy может быть установлено так, чтобы расстояние между направлениями предсказания, близкими к горизонтальному направлению, являлось узким, и расстояние между режимами предсказания, близкими к вертикальному направлению, являлось более широким. Например, со ссылкой на фиг. 28, если dx имеет значение 2^4, то есть 16, значение dy может быть установлено, чтобы быть 1, 2, 3, 4, 6, 9, 12, 16, 0,-1,-2,-3,-4,-6,-9,-12 и -16 так, чтобы расстояние между направлениями предсказания близкими к горизонтальному направлению являлось узким, и расстояние между режимами предсказания близкими к вертикальному направлению являлось более широким.
Кроме того, когда одно из значений dx и dy является фиксированным, остающееся значение может быть установлено, чтобы увеличиваться согласно режиму предсказания. Например, если dy является фиксированным, расстояние между dx может быть установлено, чтобы увеличиваться посредством предопределенного значения. Кроме того, угол горизонтального направления и вертикального направления может быть поделен на предопределенные элементы, и такое увеличенное количество может быть установлено в каждом из поделенных углов. Например, если dy является фиксированным, значение dx может устанавливаться, чтобы иметь увеличенное количество а в части меньшей, чем 15 градусов, увеличенное количество b в части между 15 градусами и 30 градусами, и увеличенная ширина с в части большей, чем 30 градусов. В этом случае, для того чтобы иметь такую форму, как показано на фиг. 25, значение dx может быть установлено, чтобы удовлетворять соотношению a<b<c.
Например, режимы предсказания, описанные со ссылкой на фиг. 25-28, могут быть заданы в качестве режима предсказания, имеющего ориентированность tan-1 (dy/dx) посредством использования (dx, dy), как показано на Таблицах 2-4.
Например, со ссылкой на таблицу 2, режим предсказания, имеющий направленность tan-1 (dy/dx) с использованием (dx, dy), представленным как один из (-32, 32), (-26, 32), (-21, 32), (-17, 32), (-13, 32), (-9, 32), (-5, 32), (-2, 32), (0,32), (2, 32), (5, 32), (9, 32), (13, 32), (17, 32), (21, 32), (26, 32), (32, 32), (32, -26), (32, -21), (32, -17), (32, -13), (32, -9), (32, -5), (32, -2), (32, 0), (32, 2), (32, 5), (32, 9), (32, 13), (32, 17), (32, 21), (32, 26) и (32, 32).
Фиг. 21 - схема для разъяснения режимов-кандидатов внутреннего предсказания, применимых к блоку кодирования компоненты цветности, согласно примерному варианту осуществления.
Со ссылкой на фиг. 21, режимы-кандидаты внутреннего предсказания применяются наряду с внутренним предсказанием блока кодирования компоненты цветности, включающим в себя вертикальный режим, горизонтальный режим, режим DC, плоскостной режим и режим внутреннего предсказания, окончательно определенный для блока кодирования компоненты яркости, соответствующего текущему блоку кодирования компоненты цветности, как описано выше. Кроме того, как описано выше, блок кодирования компоненты яркости и блок кодирования компоненты цветности, которые являются предсказанными внутренне, могут быть одним из сигналов изображения, имеющим форматы цвета 4:2:0, 4:2:2, и 4:4:4, определенные в YCbCr (или YUV) области цвета. Режим внутреннего предсказания, имеющий минимальные затраты из числа множества используемых режимов внутреннего предсказания, выбирается в качестве режима внутреннего предсказания блока кодирования компоненты яркости, на основании расчета затрат, таких как затраты R-D. Рассчитываются каждые затраты режимов-кандидатов внутреннего предсказания, и режим-кандидат внутреннего предсказания, имеющий минимальные затраты, выбирается в качестве окончательного режима внутреннего предсказания блока кодирования компоненты цветности.
Фиг. 22 блок-схема устройства 2200 внутреннего предсказания изображения, согласно примерному варианту осуществления. Устройство 2200 внутреннего предсказания согласно текущему варианту осуществления настоящего изобретения, может действовать в качестве внутреннего предсказателя 410 кодера 400 изображения на фиг. 4 и внутреннего предсказателя 550 декодера 500 изображения фиг. 5.
Со ссылкой на фиг. 22, устройство 2200 внутреннего предсказания включает в себя внутренний предсказатель 2210 яркости и внутренний предсказатель 2220 цветности. Как описано выше, внутренний предсказатель 2210 яркости выбирает режимы-кандидаты внутреннего предсказания, которые должны применяться согласно размеру текущего блока кодирования компоненты яркости, на основании размера разбиения каждого блока кодирования компоненты яркости, согласно максимальному блоку кодирования и максимальной глубине, и применяет определенные режимы-кандидаты внутреннего предсказания к текущему блоку кодирования компоненты яркости для осуществления внутреннего предсказания на текущем блоке кодирования компоненты яркости. Внутренний предсказатель 2210 яркости определяет оптимальный режим внутреннего предсказания, имеющий минимальные затраты в качестве окончательного режима внутреннего предсказания текущего блока кодирования компоненты яркости, на основании затрат, согласно значению ошибки между блоком предсказания кодирования, сгенерированным посредством внутреннего предсказания, и исходным блоком кодирования компоненты яркости.
Внутренний предсказатель 2220 цветности рассчитывает затраты, согласно вертикальному режиму, горизонтальному режиму, режиму DC, плоскостному режиму и окончательному режиму внутреннего предсказания блока кодирования компоненты яркости, соответствующего текущему блоку кодирования компоненты цветности, и определяет режим внутреннего предсказания, имеющий минимальные затраты в качестве окончательного режима внутреннего предсказания текущего блока кодирования компоненты цветности.
Между тем, когда устройство 2200 внутреннего предсказания на фиг. 22 применяется к устройству декодирования, размеры текущих блоков декодирования компоненты яркости и цветности определяются посредством использования максимального блока кодирования и глубины информации, составляющей информацию иерархического разбиения максимального блока кодирования, которые извлекаются из битового потока посредством использования статистического декодера 520 фиг. 5, и режима внутреннего предсказания, который должен осуществляться, определяется посредством использования информации о режиме внутреннего предсказания, примененном к блокам декодирования компоненты яркости и компоненты цветности. Кроме того, устройство 2200 внутреннего предсказания генерирует блок декодирования предсказания посредством осуществления внутреннего предсказания, на каждых блоках декодирования компоненты яркости и компоненты цветности, согласно извлеченному режиму внутреннего предсказания. Блок декодирования предсказания добавляется к остаточным данным, восстановленным из битового потока, и таким образом декодируются текущие блоки декодирования компоненты яркости и компоненты цветности.
Фиг. 23 - блок-схема процесса способа, иллюстрирующая способ определения режима внутреннего предсказания блока кодирования, согласно примерному варианту осуществления.
Со ссылкой на фиг. 23, текущий кадр компоненты яркости разбивается на по меньшей мере один блок кодирования компоненты яркости, на основании максимального блока кодирования и глубины составляющей информацию о иерархическом разбиении максимального блока кодирования, в операции 2310.
В операции 2320 определяется режим внутреннего предсказания блока кодирования компоненты яркости. Как описано выше, режим внутреннего предсказания блока кодирования компоненты яркости определен посредством выбора режимов-кандидатов внутреннего предсказания, которые должны применяться на основании размера блока кодирования компоненты яркости, осуществляется внутреннее предсказание на блоке кодирования компоненты яркости посредством применения режимов-кандидатов внутреннего предсказания на блоке кодирования компоненты яркости, и затем определяется оптимальный режим внутреннего предсказания, имеющий минимальные затраты в качестве режима внутреннего предсказания блока кодирования компоненты яркости.
В операции 2330 определяются режимы-кандидаты внутреннего предсказания блока кодирования компоненты цветности, которые включают в себя определенный режим внутреннего предсказания блока кодирования компоненты яркости. Как описано выше, режимы-кандидаты внутреннего предсказания применяются к блоку кодирования компоненты цветности, включают в себя, помимо определенного режима внутреннего предсказания блока кодирования компоненты яркости, вертикальный режим, горизонтальный режим, режим DC и плоскостной режим.
В операции 2340 затраты блока кодирования компоненты цветности, согласно определенным режимам-кандидатам внутреннего предсказания, сравниваются для определения режима внутреннего предсказания, имеющего минимальные затраты.
Фиг. 24 - блок-схема способа, иллюстрирующая способ определения режима внутреннего предсказания блока декодирования, согласно примерному варианту осуществления.
Со ссылкой на фиг. 24, в операции 2410 максимальный блок кодирования и глубина, составляющие информацию об иерархическом разбиении максимального блока кодирования, извлекаются из битового потока.
В операции 2420 текущий кадр, который должен быть декодирован, разбивается на блок декодирования компоненты цветности и блок декодирования компоненты яркости, на основании извлеченного максимального блока кодирования и глубины.
В операции 2430 информация о режимах внутреннего предсказания, примененная к блокам декодирования компоненты яркости и компоненты цветности, извлекается из битового потока.
В операции 2440 внутреннее предсказание осуществляется в отношении блоков декодирования компоненты яркости и компоненты цветности, согласно извлеченным режимам внутреннего предсказания, тем самым декодируются блоки декодирования компоненты яркости и компоненты цветности.
Согласно примерным вариантам осуществления, добавлением режима внутреннего предсказания блока кодирования компоненты яркости, имеющего различную направленность в качестве режима внутреннего предсказания блока кодирования компоненты цветности, эффективность предсказания компоненты цветности изображения и эффективность предсказания всего изображения могут увеличиваться без вынуждения увеличивать пропускную способность.
Примерные варианты осуществления могут быть воплощены в виде компьютерных программ и могут быть реализованы в цифровых компьютерах общего пользования, которые исполняют программы с использованием машиночитаемого носителя записи. Примеры машиночитаемого носителя записи включают в себя магнитные запоминающие носители (например, ПЗУ, гибкие магнитные диски, жесткие диски и т.д.), оптические носители записи (например, диски CD-ROM, или DVD) и носители данных.
Устройства примерных вариантов осуществления могут включать в себя шину, присоединенную ко всем блокам устройства или кодера, по меньшей мере один процессор, который является подсоединенным к шине, процессор для исполнения команд и память, подсоединенную к шине для хранения команд, принятых сообщений, и сгенерированных сообщений.
Несмотря на то, что изобретение было подробно показано и описано со ссылкой на его примерные варианты осуществления, специалистами в данной области техники должно быть понятно, что различные изменения по форме и содержанию могут быть произведены в нем, не выходя из сущности и объема изобретения, как задано прилагаемой формулой изобретения. Примерные варианты осуществления должны рассматриваться только в описательном смысле, а не в целях ограничения. Поэтому объем изобретения определен не подробным описанием изобретения, а прилагаемой формулой изобретения, а все отличия в пределах объема будут истолковываться как включенные в настоящее изобретение.
Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности кодирования. Устройство для кодирования изображения содержит внутренний предсказатель яркости, который определяет режим внутреннего предсказания блока яркости из числа множества режимов внутреннего предсказания блока яркости; и внутренний предсказатель цветности, который определяет режим внутреннего предсказания блока цветности из числа режимов предсказания кандидатов блока цветности посредством определения внутреннего режима предсказания блока цветности, имеющего минимальные затраты; при этом режимы предсказания кандидаты блока цветности включают в себя определенный режим внутреннего предсказания блока яркости; при этом режим внутреннего предсказания блока яркости включает в себя конкретное направление из числа множества направлений и конкретное направление указывается одним из числа dx пикселей в горизонтальном направлении и фиксированного числа пикселей в вертикальном направлении, и числа dy пикселей в вертикальном направлении и фиксированного числа пикселей в горизонтальном направлении; и при этом внутренний предсказатель яркости определяет число соседних пикселей, которое должно быть получено согласно позиции текущего пикселя и конкретному направлению, указанному режимом внутреннего предсказания блока яркости, причем соседние пиксели расположены на левой стороне блока яркости или верхней стороне блока яркости. 2 н. и 2 з.п. ф-лы, 36 ил., 4 табл.
1. Устройство для кодирования изображения, причем устройство содержит:
внутренний предсказатель яркости, который определяет режим внутреннего предсказания блока яркости из числа множества режимов внутреннего предсказания блока яркости; и
внутренний предсказатель цветности, который определяет режим внутреннего предсказания блока цветности из числа режимов предсказания кандидатов блока цветности посредством определения внутреннего режима предсказания блока цветности, имеющего минимальные затраты;
при этом режимы предсказания кандидаты блока цветности включают в себя определенный режим внутреннего предсказания блока яркости;
при этом режим внутреннего предсказания блока яркости включает в себя конкретное направление из числа множества направлений и конкретное направление указывается одним из числа dx пикселей в горизонтальном направлении и фиксированного числа пикселей в вертикальном направлении, и числа dy пикселей в вертикальном направлении и фиксированного числа пикселей в горизонтальном направлении; и
при этом внутренний предсказатель яркости определяет число соседних пикселей, которое должно быть получено согласно позиции текущего пикселя и конкретному направлению, указанному режимом внутреннего предсказания блока яркости, причем соседние пиксели расположены на левой стороне блока яркости или верхней стороне блока яркости.
2. Устройство для декодирования изображения, причем устройство содержит:
энтропийный декодер, который получает первую информацию, указывающую режим внутреннего предсказания блока яркости, и вторую информацию, указывающую режим внутреннего предсказания блока цветности, соответствующего блоку яркости, из битового потока; и
средство выполнения внутреннего предсказания, которое выполняет внутреннее предсказание в отношении блока яркости согласно режиму внутреннего предсказания блока яркости и выполняет внутреннее предсказание в отношении блока цветности согласно режиму внутреннего предсказания блока цветности;
при этом режим внутреннего предсказания блока яркости включает в себя конкретное направление из числа множества направлений, и конкретное направление указывается одним из числа dx пикселей в горизонтальном направлении и фиксированного числа пикселей в вертикальном направлении, и числа dy пикселей в вертикальном направлении и фиксированного числа пикселей в горизонтальном направлении;
при этом средство выполнения внутреннего предсказания определяет число соседних пикселей, которое должно быть получено согласно позиции текущего пикселя и конкретному направлению, указанному режимом внутреннего предсказания блока яркости, причем соседние пиксели расположены на левой стороне блока яркости или верхней стороне блока яркости; и
когда вторая информация указывает, что режим внутреннего предсказания блока цветности равен режиму внутреннего предсказания блока яркости, режим внутреннего предсказания блока цветности определяется равным режиму внутреннего предсказания блока яркости.
3. Устройство по п.2, в котором (dx, dy) имеет по меньшей мере одно значение, выбранное из группы, состоящей из (-32, 32), (-26, 32), (-21, 32), (-17, 32), (-13, 32), (-9, 32), (-5, 32), (-2, 32), (0, 32), (2, 32), (5, 32), (9, 32), (13, 32), (17, 32), (21, 32), (26, 32), (32, 32), (32, -26), (32, -21), (32, -17), (32, -13), (32, -9), (32, -5), (32, -2), (32, 0), (32, 2), (32, 5), (32, 9), (32, 13), (32, 17), (32, 21), (32, 26) и (32, 32).
4. Устройство по 2, в котором режимы внутреннего предсказания блока цветности содержат режим постоянного тока (DC), горизонтальный режим, вертикальный режим и плоскостной режим.
Колосоуборка | 1923 |
|
SU2009A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
EP 1950971 A2, 30.07.2008 | |||
Способ определения упругой отдачи каната в процессе его эксплуатации | 1989 |
|
SU1753242A1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ МАСШТАБИРУЕМОГО ПО ЦВЕТОВОМУ ПРОСТРАНСТВУ ВИДЕОКОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ | 2006 |
|
RU2316909C2 |
Авторы
Даты
2015-02-27—Публикация
2011-04-05—Подача