СПОСОБ ПРЕДСКАЗАНИЯ ПРИ КОДИРОВАНИИ ИЛИ ДЕКОДИРОВАНИИ И ПРЕДСКАЗЫВАЮЩЕЕ УСТРОЙСТВО
METHOD FOR PREDICTION DURING ENCODING OR DECODING AND PREDICTOR

Область техники
[0001] Настоящее изобретение относится к технологиям видеокодирования или декодирования и, в частности, к способу пиксельного предсказания при кодировании или декодировании.
Уровень техники
[0002] Основной принцип для сжатия видеокода состоит в устранении избыточности в максимально возможной степени посредством использования соответствия между пространственной областью, временной областью и кодовым словом. В настоящее время популярный способ состоит в использовании платформы основанного на блоках смешанного видеокодирования, чтобы реализовывать сжатие видеокода через этапы, такие как предсказание, изменение, квантование и энтропийное кодирование. Такая платформа кодирования демонстрирует сильную жизнеспособность. Стандарты от самого раннего MPEG-1 до самого последнего стандарта H.264/AVC видеокодирования, и даже стандарт HEVC сжатия видеокодирования следующего поколения, формулируемый рабочей группой JCTVC (объединенная рабочая группа, основанная группами MPEG и VECG) - все используют такую платформу основанного на блоках смешанного видеокодирования.
[0003] При видеокодировании или декодировании в целом используется технология кодирования с основанным на блоках предсказанием пространственной области, и основной принцип состоит в устранении избыточности пространственной области посредством использования соответствия между соседними блоками. Таким образом, соседние блоки используются в качестве опорных блоков для предсказания текущего блока. В настоящее время способ растровой развертки широко используется при кодировании видеоизображения. В целом, обработка начинается с левого верхнего угла изображения или слоя и продолжается согласно последовательности сверху вниз и слева направо. Опорные блоки текущего блока, главным образом, включают в себя блок с левой стороны, блок с верхней стороны и левый верхний блок.
[0004] Очевидно, в течение предсказания пространственной области для пограничных блоков будет неизбежно возникать проблема, как обращаться с недоступными опорными блоками, то есть, как получить соответствующие опорные пиксели, когда соседние блоки являются недоступными. Вообще говоря, так называемый «недоступный» в целом включает в себя следующие случаи:
[0005] В первом случае опорные блоки фактически не существуют. В настоящее время единица размера для изображения кодирования определена как 64×64. Если текущее изображение не удовлетворяет данным техническим требованиям размерности, то соответствующие части должны быть дополнены на границах изображения, чтобы увеличить масштаб размерность изображения до технических требований 64×64. В данное время блоки изображения, первоначально расположенные на границах изображения, будут иметь соседние блоки (опорные блоки), которые «не должны существовать». Если значение пикселя текущего блока изображения будет предсказано согласно данным соседним блокам, которые «не должны существовать», то, очевидно, будет возникать чрезвычайно большая погрешность.
[0006] Во втором случае опорные блоки существуют, но опорные блоки и текущий блок изображения находятся в разных слоях (слое). Например, для текущего блока, расположенного на границе слоя, его соседние блоки могут быть расположены в других слоях. В данном случае соседние блоки и текущий блок изображения не могут быть взаимно опорными.
[0007] В третьем случае соседние блоки еще не обработаны (декодированы или восстановлены) и не могут служить в качестве опорных блоков.
[0008] Если какой-либо один из блока с левой стороны, блока с верхней стороны и левого верхнего блока удовлетворяет предыдущим недоступным случаям, решение в предшествующем уровне техники состоит в непосредственном выделении низменного значения опорного пикселя для пиксельных точек опорных блоков, например, 128, и текущие блоки предсказываются согласно данному неизменному значению. Очевидно, выделение неизменного значения для недоступного опорного блока вступает в противоречие с изменяющимся характером пикселей блока изображения, и результат предсказания едва ли сможет удовлетворить фактическим требованиям.
[0009] Как показано на Фиг.1, в предшествующем уровне техники дополнительно предлагается технология предсказания UDI. При предсказании изображения будет выбрано одно направление среди 33 направлений предсказания. Предсказание для всех пиксельных точек в текущем блоке изображения выполняется на основе опорных блоков, на которые указывает направление предсказания, значительно повышая гибкость предсказания. Однако 33 направления предсказания также вынуждают процедуру предсказания, возможно, сталкиваться с большим количеством «недоступных» опорных блоков. Если во все из них будут заложены неизменные значения, то точность предсказания будет значительно нарушена.
Сущность изобретения
[0010] Настоящее изобретение предоставляет способ предсказания при кодировании блока изображения или декодировании, включающий в себя этапы, на которых: получают информацию о доступности касательно опорных блоков текущего блока изображения и определяют, являются ли доступными опорные блоки для внутреннего предсказания согласно информации о доступности, причем информация о доступности содержит: расположен ли опорный блок внутри границы изображения, где расположен текущий блок изображения; расположен ли опорный блок в том же самом слое с текущим блоком изображения; и был ли уже опорный блок кодирован или декодирован, причем опорные блоки текущего блока изображения включают в себя блок с левой стороны, блок с верхней стороны и левый верхний блок текущего блока изображения; если, по меньшей мере, один из опорных блоков является доступным и, по меньшей мере, один является недоступным, заполняют значение пикселя в доступном опорном блоке в недоступный опорный блок в качестве значения опорного пикселя текущего блока изображения, причем заполнение значения пикселя в доступном опорном блоке в недоступный опорный блок в качестве значения опорного пикселя текущего блока изображения содержит определение значение пикселя в смежной опорной стороне в доступном опорном блоке, заполнение значения пикселя в значение пикселя в смежной опорной стороне в недоступном опорном блоке в качестве значения опорного пикселя текущего блока изображения; ипредсказывают текущий блок изображения согласно значению опорного пикселя.
[0011] Настоящее изобретение соответственно дополнительно предоставляет предсказывающее устройство, которое использует способ предсказания, включающее в себя: модуль определения доступности, сконфигурированный с возможностью получения информации о доступности касательно опорных блоков текущего блока изображения и определения, являются ли доступными опорные блоки для внутреннего предсказания согласно информации о доступности, причем информация о доступности содержит: расположен ли опорный блок внутри границы изображения, где расположен текущий блок изображения; расположен ли опорный блок в том же самом слое с текущим блоком изображения; и был ли уже опорный блок кодирован или декодирован, причем опорные блоки текущего блока изображения включают в себя блок с левой стороны, блок с верхней стороны и левый верхний блок текущего блока изображения; модуль заполнения значения пикселя, сконфигурированный с возможностью: если, по меньшей мере, один из опорных блоков является доступным и, по меньшей мере, один является недоступным, заполнения значения пикселя в доступном опорном блоке в недоступный опорный блок в качестве значения опорного пикселя текущего блока изображения, причем заполнение значения пикселя в доступном опорном блоке в недоступный опорный блок в качестве значения опорного пикселя текущего блока изображения содержит определение значения пикселя в смежной опорной стороне в доступном опорном блоке, заполнение значения пикселя в значение пикселя в смежной опорной стороне в недоступном опорном блоке в качестве значения опорного пикселя текущего блока изображения, и модуль предсказания, сконфигурированный с возможностью предсказания текущего блока изображения согласно значению опорного пикселя.
[0012] Настоящее изобретение дополнительно предоставляет способ предсказания, включающий в себя этапы, на которых: получают направление предсказания; если направление предсказания указывает на правый верхний блок текущего блока изображения, правый верхний блок является недоступным и блок с левой стороны текущего блока изображения является доступным, заполняют значение пикселя блока с левой стороны текущего блока изображения в блок с нижней стороны текущего блока изображения и получают значение пикселя блока с нижней стороны, на который указывает направление предсказания в обратном расширении после заполнения; и предсказывают значение пикселя текущего блока изображения согласно значению пикселя блока с нижней стороны, на который указывает направление предсказания в обратном расширении после заполнения, и направлению предсказания.
[0013] Настоящее изобретение соответственно дополнительно предоставляет предсказывающее устройство, которое использует способ предсказания, включающее в себя: модуль получения направления  предсказания,  сконфигурированный  с  возможностью получения направления предсказания;
модуль заполнения значения пикселя, сконфигурированный с возможностью: когда направление предсказания указывает направый верхний блок текущего блока изображения, правый верхний блок является недоступным и блок с левой стороны текущего блока изображения является доступным, заполнения значения пикселя блока с левой стороны текущего блока изображения в блок с нижней стороны текущего блока изображения и получения значения пикселя блока с нижней стороны, на который указывает направление предсказания в обратном расширении после заполнения; и
модуль предсказания, сконфигурированный с возможностью предсказания значения пикселя текущего блока изображения согласно значению пикселя блока с нижней стороны, на который указывает направление предсказания в обратном расширении после заполнения, и направлению предсказания.
[0014] Согласно способу предсказания и предсказывающему устройству, предоставленным в настоящем изобретении, в недоступные пиксельные блоки осуществляется заполнение посредством использования значений пикселей доступных опорных блоков, так что пиксельное предсказание может всегда быть выполнено на основе значений пикселей опорных блоков, которые являются смежными текущему блоку, повышая точность предсказания.
Краткое описание чертежей
[0015] Чтобы изобразить технические решения в вариантах осуществления настоящего изобретения более ясно, нижеследующее кратко описывает сопроводительные чертежи, требуемые для описания вариантов осуществления настоящего изобретения. Очевидно, сопроводительные чертежи в последующем описании всего лишь являются некоторыми вариантами осуществления настоящего изобретения, и специалисты в рассматриваемой области техники смогут получить другие чертежи из приведенных чертежей без творческих усилий.
[0016] Фиг.1 является схемой применения способа предсказания UDI, предоставляемого стандартом H.264;
[0017] Фиг.2 является схематичной диаграммой размещения блоков изображения при предсказании изображения;
[0018] Фиг.3 является схематичным представлением способа предсказания согласно варианту осуществления настоящего изобретения;
[0019] Фиг.4 является схематичной диаграммой применения способа предсказания согласно варианту осуществления настоящего изобретения;
[0020] Фиг.5 является схематичным представлением способа предсказания согласно еще одному варианту осуществления настоящего изобретения;
[0021] Фиг.6 является схематичной диаграммой применения способа предсказания согласно другому варианту осуществления настоящего изобретения;
[0022] Фиг.7 является блок-схемой предсказывающего устройства согласно варианту осуществления настоящего изобретения; и
[0023] Фиг.8 является блок-схемой предсказывающего устройства согласно еще одному варианту осуществления настоящего изобретения.
Подробное описание вариантов осуществления
[0024] Фиг.2 является принципиальной схемой размещения блоков изображения. Блок E является текущим блоком изображения, блок A является блоком с левой стороны текущего блока изображения, блок B является верхним блоком текущего блока изображения, блок D является левым верхним блоком текущего блока изображения и блок C является правым верхним блоком текущего блока изображения. Способ предсказания, предоставленный в данном варианте осуществления, предоставляет решение, когда любой один опорный блок среди блоков A, B и D является недоступным. Как показано на Фиг.3, способ предсказания согласно данному варианту осуществления включает в себя:
[0025] Этап 101: Получение информации о доступности касательно опорных блоков текущего блока изображения и определения, являются ли доступными опорные блоки согласно информации о доступности, причем опорные блоки текущего блока изображения включают в себя блок с левой стороны, блок с верхней стороны и левый верхний блок текущего блока изображения.
[0026] В данном варианте осуществления информация о доступности включает в себя: расположен ли опорный блок внутри границы изображения, где расположен текущий блок изображения; расположен ли опорный блок в том же самом слое с текущим блоком изображения; и был ли уже опорный блок кодирован или декодирован. Если опорный блок удовлетворяет этим трем условиям, опорный блок является доступным; иначе, опорный блок является недоступным. По другому аспекту, если опорный блок расположен внутри границы изображения, где расположен текущий блок изображения, то это означает необходимость определения, является ли опорный блок дополнительно добавленным блоком изображения, который расположен на границе изображения. Технические требования на изображения для кодирования или декодирования составляют 64×64. Изображение может не удовлетворять данному техническому требованию. В данном случае некоторые виртуальные блоки изображения, которые не существуют, будут существовать снаружи границы изображения. Очевидно, эти блоки изображения, которые не существуют, не могут использоваться для предсказания значения пикселя текущего блока изображения.
[0027] Этап 102: Если, по меньшей мере, один из опорных блоков является доступным и, по меньшей мере, один является недоступным, заполнение значения пикселя в доступном опорном блоке в недоступный опорный блок в качестве значения опорного пикселя текущего блока изображения.
[0028] Этап 103: Предсказание текущего блока изображения согласно значению опорного пикселя.
[0029] Например, может быть сделана ссылка на Фиг.4. Когда блок с левой стороны является доступным, а блок с верхней стороны является недоступным, значение пикселя блока с левой стороны в качестве опорного блока заполняется в блок с верхней стороны. Когда блок с верхней стороны является доступным, а блок с левой стороны является недоступным, исполнение осуществляется соответствующим образом.
[0030] Согласно способу предсказания, предоставленному в данном варианте осуществления, когда любой один из блока с левой стороны, блока с верхней стороны и левого верхнего блока текущего блока изображения является недоступным, значения пикселей других доступных опорных блоков заполняются в недоступный опорный блок, гарантируя, что пиксельное предсказание может все еще быть выполнено на основе соседних блоков текущего блока, и улучшая точность пиксельного предсказания.
[0031] Несомненно, чтобы дополнительно повысить точность пиксельного предсказания, когда значения пикселя в доступных опорных блоках заполняются в недоступный опорный блок, может быть получено значение пикселя пиксельной точки, которая является самой близкой к недоступному опорному блоку и текущему блоку у доступного опорного блока. Это может быть замечено из размещения блоков изображения, как показано на Фиг.1, блок с левой стороны, блок с верхней стороны и левый верхний блок - все являются ближними к левому верхнему углу текущего блока изображения. Поэтому значение пикселя, которое используется для заполнения, может быть получено из пиксельной точки, которая является самой близкой к пиксельной точке в левом верхнем углу текущего блока изображения среди доступных опорных блоков, и значение пикселя, которое используется для заполнения, заполняется в недоступный пиксельный блок.
[0032] Следует обратить внимание, что в случае, где слои делятся согласно нормальной последовательности растровой развертки, когда один из блока с левой стороны и блока с верхней стороны является недоступным, его левый верхний блок также является недоступным. Поэтому случай, где левый верхний блок и блок с верхней стороны являются доступными, и блок с левой стороны является недоступным, и случай, где левый верхний блок и блок с левой стороны являются доступными, и блок с верхней стороны является недоступным, происходят маловероятно и не обсуждаются в данном документе.
[0033] Как показано на Фиг.2, в фактических применениях, если блок A с левой стороны является доступным, а блок B с верхней стороны является недоступным, осуществляется заполнение значения пикселя блока A с левой стороны в блок B с верхней стороны; если блок B с верхней стороны является доступным, а блок A с левой стороны является недоступным, осуществляется заполнение значения пикселя блока B с верхней стороны в блок A с левой стороны; если левый верхний блок D является недоступным, а один из блока A с левой стороны и блока B с верхней стороны является доступным, осуществляется заполнение значения пикселя одного доступного из блока A с левой стороны и блока B с верхней стороны в левый верхний блок; и если левый верхний блок D является недоступным, а как блок A с левой стороны, так и блок B с верхней стороны являются доступными, осуществляется получение среднего значения для значений пикселей блока A с левой стороны и блока B с верхней стороны и заполнение его в левый верхний блок. Чтобы повысить точность предсказания, в случае заполнения, может быть выбрано значение пикселя пиксельной точки блока среди блоков A, B и D, причем пиксельная точка является самой близкой к левому верхнему углу текущего блока, например может быть выбрано значение пикселя пиксельной точки в правом верхнем углу блока A с левой стороны, значение пикселя пиксельной точки в левом нижнем углу блока B с верхней стороны и значение пикселя пиксельной точки в правом нижнем углу левого верхнего блока D. Как показано на Фиг.1 и Фиг.2, способ предсказания согласно данному варианту осуществления также применим к способу предсказания UDI. После того как способ предсказания согласно данному варианту осуществления использован для заполнения в недоступные блоки среди левого верхнего блока, блока с левой стороны и блока с верхней стороны текущего блока изображения, точность предсказания UDI уже может быть повышена до некоторой степени. Для нескольких направлений предсказания, которые указывают на правый верхний блок на правой стороне в предсказании UDI, если правый верхний блок является недоступным, неизменное значение или значение пикселя, которое является самым близким к правому верхнему углу, может все еще использоваться для заполнения. Однако, чтобы дополнительно повысить точность предсказания, вариант осуществления настоящего изобретения дополнительно предоставляет способ предсказания, как показано на Фиг.4, включающий в себя:
[0034] Этап 201: Получение направления предсказания.
[0035] Направление предсказания является направлением предсказания некоторой пиксельной точки текущего блока изображения. Согласно технологии UDI можно установить, что для каждой пиксельной точки текущего блока изображения необходимо выполнять пиксельное предсказание согласно пиксельным точкам опорных блоков, на которые указывают 33 направления предсказания.
[0036] Этап 202: Если направление предсказания указывает на правый верхний блок текущего блока изображения, правый верхний блок является недоступным и блок с левой стороны текущего блока изображения является доступным, осуществляется заполнение значения пикселя блока с левой стороны текущего блока изображения в блок с нижней стороны текущего блока изображения и получение значения пикселя блока с нижней стороны, на который указывает направление предсказания в обратном расширении после заполнения.
[0037] Этап 203: Предсказание значения пикселя текущего блока изображения согласно значению пикселя блока с нижней стороны, на который указывает направление предсказания в обратном расширении после заполнения, и направлению предсказания.
[0038] В данном варианте осуществления правый верхний блок является фактически также опорным блоком текущего блока изображения. Поэтому способ определения, является ли недоступным правый верхний блок, является тем же самым, что и способ определения, является ли доступным опорный блок согласно предыдущему варианту осуществления. Способ включает в себя: определение, расположен ли правый верхний блок снаружи границы изображения, где расположен текущий блок изображения; определение, расположен ли правый верхний блок в другом слое от текущего блока изображения; и определение, не был ли правый верхний блок кодирован или декодирован, если правый верхний блок удовлетворяет любому из данных условий, то правый верхний блок является недоступным.
[0039] Для конкретного применения может быть сделана ссылка на Фиг.5. Когда используется способ предсказания UDI, блок с верхней стороны и блок с левой стороны текущего блока изображения - оба могут использовать способ предсказания согласно предыдущему варианту осуществления для предсказания. Для недоступного правого верхнего блока направление является прямопротивоположным, и предсказание выполняется согласно значению пикселя пиксельных точек, которые являются смежными текущему блоку изображения, на которые указывает направление предсказания после изменения направления на противоположное, и находятся в блоке с нижней стороны. Конечно, если блок с нижней стороны является недоступным, то заполнение в значение пикселя пиксельной точки соответствующего блока с нижней стороны может быть осуществлено согласно значению пикселя блока с левой стороны.
[0040] Согласно способу предсказания, предоставленному в данном варианте осуществления, когда правый верхний блок, на который указывает направление предсказания, является недоступным, значение пикселя пиксельной точки блока с нижней стороны, на который указывает противоположное направление, получают для предсказания. Конечно, блок с нижней стороны в целом является недоступным. В данном случае значение пикселя блока с левой стороны заполняется в блок с нижней стороны. Кроме того, текущий блок изображения предсказывается согласно направлению предсказания и значению пикселя после заполнения.
[0041] Как показано на Фиг.6, вариант осуществления настоящего изобретения дополнительно предоставляет предсказывающее устройство, сконфигурированное с возможностью исполнения способа предсказания, предоставленного в предыдущем варианте осуществления, включающее в себя:
модуль 601 определения доступности, сконфигурированный для получения информации о доступности касательно опорных блоков текущего блока изображения, и определения, являются ли доступными опорные блоки согласно информации о доступности, причем опорные блоки текущего блока изображения включают в себя блок с левой стороны, блок с верхней стороны и левый верхний блок текущего блока изображения;
модуль 602 заполнения значения пикселя, сконфигурированный для: если, по меньшей мере, один из опорных блоков является доступным и, по меньшей мере, один является недоступным, заполнения значения пикселя в доступном опорном блоке в недоступный опорный блок в качестве значения опорного пикселя текущего блока изображения; и
модуль 603 предсказания, сконфигурированный для предсказания текущего блока изображения согласно значению опорного пикселя.
[0042] В данном варианте осуществления информация о доступности включает в себя следующее: расположен ли опорный блок внутри границы изображения, где расположен текущий блок изображения; расположен ли опорный блок в том же самом слое с текущим блоком изображения; и был ли уже опорный блок кодирован или декодирован. Если опорный блок удовлетворяет этим трем условиям, опорный блок является доступным; иначе, опорный блок является недоступным. По другому аспекту, если опорный блок расположен внутри границы изображения, где расположен текущий блок изображения, то это означает необходимость определения, является ли опорный блок дополнительно добавленным блоком изображения, который расположен на границе изображения. Технические требования на изображения для кодирования или декодирования составляют 64×64. Изображение может не удовлетворять данному техническому требованию. В данном случае некоторые виртуальные блоки изображения, которые не существуют, будут существовать снаружи границы изображения. Очевидно, эти блоки изображения, которые не существуют, не могут использоваться для предсказания значения пикселя текущего блока изображения.
[0043] Как показано на Фиг.7, относительно технологии предсказания UDI, еще один вариант осуществления настоящего изобретения дополнительно предоставляет предсказывающее устройство, включающее в себя: модуль 701 получения направления предсказания, сконфигурированный для получения направления предсказания;
модуль 702 заполнения значения пикселя, сконфигурированный для: когда направление предсказания указывает на правый верхний блок текущего блока изображения, правый верхний блок является недоступным, а блок с левой стороны текущего блока изображения является доступным, заполнения значения пикселя блока с левой стороны текущего блока изображения в блок с нижней стороны текущего блока изображения и получения значения пикселя блока с нижней стороны, на который указывает направление предсказания в обратном расширении после заполнения; и
модуль 703 предсказания, сконфигурированный для предсказания значения пикселя текущего блока изображения согласно значению пикселя блока с нижней стороны, на который указывает направление предсказания в обратном расширении после заполнения, и направлению предсказания.
[0044] Согласно описанию вариантов осуществления, специалисты в уровне техники могут ясно понять, что настоящее изобретение может быть реализовано посредством программного обеспечения в дополнение к необходимой универсальной платформе аппаратного обеспечения или посредством только аппаратного обеспечения. При большинстве обстоятельств предпочтителен первый вариант. На основе такого понимания технические решения в настоящем изобретении по существу или часть, вносящая вклад в предшествующий уровень техники, могут быть воплощены в форме программного продукта. Продукт компьютерного программного обеспечения хранится на носителе хранения информации, таком как ROM/RAM, магнитный диск или оптический диск, и включает в себя команды для предписания компьютерному устройству (которое может быть персональным компьютером, сервером, сетевым устройством и т.п.) исполнять способы, описанные во всех или в некоторых частях вариантов осуществления настоящего изобретения.
[0045] Вышеупомянутое является всего лишь примерными вариантами осуществления настоящего изобретения. Следует отметить, что несколько улучшений и изменений могут также быть сделаны средними специалистами в уровне техники в пределах принципа действия настоящего изобретения и должны находиться в пределах объема защиты настоящего изобретения.