Способ кодирования и декодирования изображения, способ обработки данных изображения и соответствующие устройства
Иллюстрации
Показать всеИзобретение относится к средствам кодирования и декодирования изображения. Технический результат заключается в улучшении качества декодированных данных изображения. Определяют текущий блок с внутренним кодированием, который использует способ ограниченного внутреннего предсказания среди текущих кадров с межкадровым кодированием. Определяют, что смежные блоки кодирования, которые расположены рядом с текущим блоком с внутренним кодированием, включают в себя смежный блок с межкадровым кодированием. Обновляют данные изображения в смежном блоке с межкадровым кодированием на основе неизменяемого значения или данных изображения в смежном блоке с внутренним кодированием, включенном в смежные блоки кодирования. Кодируют текущий блок с внутренним кодированием на основе обновленных данных изображения в смежном блоке с межкадровым кодированием. 6 н. и 31 з.п. ф-лы, 11 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области связи и, в частности, к способу кодирования изображения, способу декодирования изображения, способу обработки данных изображения, и устройствам для их осуществления в области связи.
УРОВЕНЬ ТЕХНИКИ
Видеоданные неизбежно испытывают битовые ошибки или потери пакетов в кабельных сетях и радиосетях, особенно в радиосетях. Видеоданные после эффективного сжатия посредством инструментов, таких как кодирование с переменной длиной, имеют большую значимость в семантике. Как таковые, видеоданные очень чувствительны к сетевым ошибкам, таким как битовая ошибка и потеря пакетов. Как только произошла битовая ошибка в видеоданных, воздействию подвергается не только восстановление текущих видеоданных, но эта битовая ошибка также распространяется во временной и пространственной области. Кроме того, кодирование с предсказанием видеоданных совершает ошибки в некотором кадре, и имеет место эффект накопления ошибок в последующих кадрах. Таким образом, необходимо принять соответствующие меры для улучшения способности видеоданных к сопротивлению битовым ошибкам. В частности, когда некоторые видеокадры уже имеют ошибки передачи, видеоконтент должен быть избавлен от ошибок как можно скорее, тем самым обеспечивая благоприятное субъективное впечатление для пользователей.
Способ внутрикадровой регенерации является простым и эффективным способом устранения ошибок, к примеру способ регенерации I-кадра, способ регенерации I-блока, основанные на случайном отслеживании или отслеживании ошибок, и адаптивная внутрикадровая регенерация макроблока и так далее. I-кадр использует способ внутрикадрового (внутреннего) кодирования для кодирования и, следовательно, может также называться кадром с внутренним кодированием. I-кадр не требует ссылки на другие кадры. Этот кадр является умеренно сжатым в качестве контрольной точки произвольного доступа и в качестве изображения. Поскольку регенерация всего I-кадра приведет к кадрам с высоким уровнем кода, который внезапно возникает в потоке битов, это приведет к достаточно сильному всплеску потока битов для системы. Поэтому на практике кадр регенерируется посредством регенерации частичных блоков кодирования в кадре в течение большей части времени.
P-кадр в видеокадрах использует способ межкадрового (INTER) кодирования для кодирования и, следовательно, Р-кадр может также называться кадром с межкадровым кодированием. Межкадровое предсказание Р-кадра требует ссылки на предыдущие Р-кадры. Таким образом, когда определенный Р-кадр имеет ошибку передачи, ошибка будет перенесена на последующие Р-кадры, что приводит к серьезному ухудшению качества декодирования последующих Р-кадров. Таким образом, чтобы избежать ухудшения качества декодирования, кадр внутренней регенерации (Intra Refresh Frame, IR-кадр для краткости) может быть определен в Р-кадре. Частично или все блоки кодирования в IR-кадре используют способ внутрикадрового кодирования для кодирования. Блоки кодирования, которые используют внутрикадровое кодирование, также могут называться блоками внутренней регенерации. Таким образом, блоки внутреннего кодирования (блоки внутренней регенерации) в IR-кадре не будут непосредственно ссылаться на Р-кадр до IR-кадра для кодирования, но будут ссылаться на смежные блоки кодирования кадра и использовать способ внутрикадрового кодирования для кодирования.
Если смежный блок кодирования некоторого блока с внутренним кодированием является блоком с межкадровым кодированием, причем блок с межкадровым кодированием еще ссылается на предыдущий Р-кадр, блок с межкадровым кодированием также может накапливать некоторые ошибки передачи от предыдущих опорных кадров и переносить ошибки к блоку с внутренним кодированием, который используется для регенерации, так что блок с внутренним кодированием также страдает от ошибок передачи, тем самым значительно снижая способность восстановления вследствие ошибок способа внутренней регенерации и влияя на качество декодирования данных изображения, таких как видео.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
По существу, варианты воплощения настоящего изобретения обеспечивают способ кодирования изображения, способ декодирования изображения, способ обработки данных изображения, и соответствующие устройства, которые обновляют данные изображения в смежных блоках с межкадровым (внешним) кодированием, и кодируют или декодируют текущий блок с внутренним кодированием с помощью обновленных данных изображения, тем самым улучшая способность исправления ошибок блока с внутренним кодированием и улучшая качество декодированных данных изображения.
В одном аспекте вариант воплощения настоящего изобретения обеспечивает способ кодирования изображения. Способ включает в себя этапы, на которых: определяют текущий блок с внутренним кодированием, который использует способ ограниченного внутреннего предсказания среди текущих кадров с межкадровым кодированием; определяют, что смежные блоки кодирования, которые расположены рядом с текущим блоком с внутренним кодированием, включают в себя смежный блок с межкадровым кодированием; обновляют данные изображения в смежном блоке с межкадровым кодированием на основе неизменяемого значения или данных изображения в смежном блоке с внутренним кодированием, включенном в смежные блоки кодирования; и кодируют текущий блок с внутренним кодированием на основе обновленных данных изображения в смежном блоке с межкадровым кодированием.
В другом аспекте вариант воплощения настоящего изобретения дополнительно обеспечивает способ декодирования изображения. Способ включает в себя этапы, на которых: определяют текущий блок с внутренним кодированием, который использует способ ограниченного внутреннего предсказания среди текущих кадров с межкадровым кодированием; определяют, что смежные блоки кодирования, которые расположены рядом с текущим блоком с внутренним кодированием, включают в себя смежный блок с межкадровым кодированием; обновляют данные изображения в смежном блоке с межкадровым кодированием на основе неизменяемого значения или данных изображения в смежном блоке с внутренним кодированием, включенном в смежные блоки кодирования; и декодируют текущий блок с внутренним кодированием на основе обновленных данных изображения в смежном блоке с межкадровым кодированием.
В еще одном аспекте вариант воплощения настоящего изобретения дополнительно обеспечивает способ обработки данных изображения. Способ включает в себя этапы, на которых: определяют, что все блоки кодирования в текущем объекте кодирования используют способ ограниченного внутреннего предсказания; среди смежных блоков кодирования, которые расположены рядом с текущим блоком с внутренним кодированием, определяют конкретный смежный блок кодирования, который принадлежит к другому объекту кодирования из текущего блока с внутренним кодированием; определяют, что конкретный смежный блок кодирования является смежным блоком с межкадровым кодированием, который использует способ межкадрового кодирования для кодирования; обновляют данные изображения в смежном блоке с межкадровым кодированием на основе неизменяемого значения или данных изображения в смежном блоке с внутренним кодированием, включенном в смежные блоки кодирования; и кодируют или декодируют текущий блок с внутренним кодированием на основе обновленных данных изображения в смежном блоке с межкадровым кодированием.
В еще одном аспекте вариант воплощения настоящего изобретения дополнительно обеспечивает устройство для кодирования изображения. Устройство включает в себя: первый модуль определения, выполненный с возможностью определения текущего блока с внутренним кодированием, который использует способ ограниченного внутреннего предсказания среди текущих кадров с межкадровым кодированием; второй модуль определения, выполненный с возможностью определения, что смежные блоки кодирования, которые расположены рядом с текущим блоком с внутренним кодированием, включают в себя смежный блок с межкадровым кодированием; модуль обновления, выполненный с возможностью обновления данных изображения в смежных блоках с межкадровым кодированием на основе неизменяемого значения или данных изображения в смежном блоке с внутренним кодированием, включенном в смежные блоки кодирования; и модуль кодирования, выполненный с возможностью кодирования текущего блока с внутренним кодированием на основе обновленных данных изображения в смежном блоке с межкадровым кодированием.
В еще одном аспекте вариант воплощения настоящего изобретения дополнительно обеспечивает устройство для декодирования изображения. Устройство включает в себя: первый модуль определения, выполненный с возможностью определения текущего блока с внутренним кодированием, который использует способ ограниченного внутреннего предсказания среди текущих кадров с межкадровым кодированием;
второй модуль определения, выполненный с возможностью определения того, что смежные блоки кодирования, которые расположены рядом с текущим блоком с внутренним кодированием, включают в себя смежный блок с межкадровым кодированием; модуль обновления, выполненный с возможностью обновления данных изображения в смежных блоках с внутренним кодированием на основе неизменяемого значения или данных изображения в смежном блоке с межкадровым кодированием, включенном в смежные блоки кодирования; и модуль декодирования, выполненный с возможностью декодирования текущего блока с внутренним кодированием на основе обновленных данных изображения в смежном блоке с межкадровым кодированием.
В еще одном аспекте вариант воплощения настоящего изобретения дополнительно обеспечивает устройство для обработки данных изображения. Устройство включает в себя: первый модуль определения, выполненный с возможностью определения того, что все блоки кодирования в текущем объекте кодирования используют способ ограниченного внутреннего предсказания; второй модуль определения, выполненный с возможностью определения, среди смежных блоков кодирования, которые расположены рядом с текущим блоком с внутренним кодированием, конкретного смежного блока кодирования, который принадлежит к другому объекту кодирования из текущего блока с внутренним кодированием; третий модуль определения, выполненный с возможностью определения того, что конкретный смежный блок кодирования является смежным блоком с межкадровым кодированием, который использует способ межкадрового кодирования для кодирования; модуль обновления, выполненный с возможностью обновления данных изображения в смежном блоке с межкадровым кодированием на основе неизменяемого значения или данных изображения в смежном блоке с внутренним кодированием, включенном в смежные блоки кодирования; и модуль кодирования/декодирования, выполненный с возможностью кодирования или декодирования текущего блока с внутренним кодированием на основе обновленных данных изображения в смежном блоке с межкадровым кодированием.
На основе технических решений, способов и устройств, в соответствии с вариантами воплощения настоящего изобретения обновляют данные изображения в смежных блоках с межкадровым кодированием и кодируют или декодируют текущий блок с внутренним кодированием, используя обновленные данные изображения, так что блоки с межкадровым кодированием, на которые ссылается блок с внутренним кодированием, не будут переносить накопленные ошибки к блоку с внутренним кодированием, тем самым улучшая способность исправления ошибок блока с внутренним кодированием и улучшая качество декодированных данных изображения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Чтобы проиллюстрировать технические решения в вариантах воплощения настоящего изобретения более ясно, далее приводится краткое описание прилагаемых чертежей, необходимых для описания вариантов воплощения настоящего изобретения. Очевидно, что прилагаемые чертежи в следующем описании показывают лишь некоторые варианты воплощения настоящего изобретения, и специалисты в данной области техники могут получить другие чертежи из этих прилагаемых чертежей без творческих усилий.
Фиг.1 является схематической диаграммой сценария применения в соответствии с вариантом воплощения настоящего изобретения;
Фиг.2 является схематической диаграммой способа кодирования изображения в соответствии с вариантом воплощения настоящего изобретения;
Фиг.3 является схематической диаграммой процесса обновления в соответствии с другим вариантом воплощения настоящего изобретения;
Фиг.4(а)-(с) являются схематическими диаграммами процесса обновления в соответствии с еще одним вариантом воплощения настоящего изобретения;
Фиг.5 является схематической диаграммой способа декодирования изображения в соответствии с вариантом воплощения настоящего изобретения;
Фиг.6 является схематической диаграммой способа обработки данных изображения в соответствии с вариантом воплощения настоящего изобретения;
Фиг.7 является блок-схемой устройства для кодирования изображения в соответствии с вариантом воплощения настоящего изобретения;
Фиг.8 является блок-схемой устройства для кодирования изображения в соответствии с другим вариантом воплощения настоящего изобретения;
Фиг.9 является блок-схемой устройства для декодирования изображения в соответствии с вариантом воплощения настоящего изобретения;
Фиг.10 является блок-схемой устройства для декодирования изображения в соответствии с другим вариантом воплощения настоящего изобретения;
Фиг.11 является блок-схемой устройства для обработки данных изображения в соответствии с вариантом воплощения настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ВОПЛОЩЕНИЯ
Нижеследующее ясно и полностью описывает технические решения в соответствии с вариантами воплощения настоящего изобретения со ссылкой на прилагаемые чертежи в вариантах воплощения настоящего изобретения. Очевидно, что варианты воплощения в следующем описании являются лишь частью, а не всеми вариантами воплощения настоящего изобретения. Все другие варианты воплощения, полученные специалистами в этой области техники на основании вариантов воплощения настоящего изобретения без творческих усилий, должны попадать в пределы объема охраны настоящего изобретения.
Фиг.1 показывает сценарий приложения в соответствии с вариантом воплощения настоящего изобретения. Как показано на фиг.1, видеокадры могут включать в себя кадр с внутренним кодированием (как показано посредством I-кадра на фиг.1) и кадр с межкадровым кодированием (как показано посредством Р-кадра на фиг.1). Кадр с внутренним кодированием и кадр с межкадровым кодированием могут затем быть разделены на несколько блоков кодирования. Все блоки кодирования в кадре с внутренним кодированием являются блоками с внутренним кодированием, и блоки кодирования в кадре с межкадровым кодированием могут включать в себя блоки с внутренним кодированием и могут также включать в себя блоки с межкадровым кодированием, причем кадр с внутренним кодированием и блоки с внутренним кодированием используют способ внутрикадрового кодирования для кодирования или декодирования, и кадр с межкадровым кодированием и блоки с межкадровым кодированием используют способ межкадрового кодирования для кодирования или декодирования.
Чтобы избежать накопления ошибок передачи и обеспечить качество декодирования данных изображения, некоторые кадры внутренней регенерации (как показано посредством IR-кадра на фиг.1) могут быть определены в кадре с межкадровым кодированием, чтобы заставлять некоторые блоки кодирования в кадрах внутренней регенерации к использованию способа внутрикадрового кодирования для кодирования или декодирования. Эти блоки кодирования принадлежат к блокам с внутренним кодированием и могут также называться блоками внутренней регенерации. Когда смежные блоки кодирования блока с внутренним кодированием являются блоками с межкадровым кодированием, блоки с межкадровым кодированием могут уже иметь накопленные некоторые ошибки передачи. Если к этим блокам с межкадровым кодированием выполняется непосредственное обращение, то блок с внутренним кодированием может также быть подвержен ошибкам передачи, при этом блок с внутренним кодированием трудно использовать для обеспечения надлежащей возможности исправления ошибок способа внутренней регенерации. Как показано на фиг.1, смежные блоки А и Б блока Е с внутренним кодированием являются блоками ошибок с ошибками передачи. Чтобы избежать накопления ошибок передачи, эталонные характеристики блока с внутренним кодированием должны быть ограничены в соответствии с вариантом воплощения настоящего изобретения.
Фиг.2 является схематической диаграммой способа кодирования изображения в соответствии с вариантом воплощения настоящего изобретения. Как показано на фиг.2, этот способ включает в себя этапы, на которых:
S110: определяют текущий блок с внутренним кодированием, который использует способ ограниченного внутреннего предсказания среди текущих кадров с межкадровым кодированием, причем способ ограниченного внутреннего предсказания означает, что во время кодирования, декодирования или предсказания блока с внутренним кодированием опорные данные блока с внутренним кодированием могут приходить только из данных изображения блоков с внутренним кодированием, которые располагаются рядом с блоком с внутренним кодированием, или из значения по умолчанию (неизменяемое значение), но не могут приходить из данных изображения смежных блоков с межкадровым кодированием.
S120: определяют, что смежные блоки кодирования, которые расположены рядом с текущим блоком с внутренним кодированием, включают в себя смежный блок с межкадровым кодированием, причем смежные блоки кодирования являются блоками кодирования, которые расположены рядом с или соединены с текущим блоком с внутренним кодированием, и для текущего блока с внутренним кодированием, его смежные блоки кодирования могут включать в себя левый смежный блок кодирования, верхний смежный блок кодирования, нижний левый смежный блок кодирования и верхний правый смежный блок кодирования. Конечно, специалисты в данной области техники могут дополнительно определить, что смежные блоки кодирования могут дополнительно включать в себя правый смежный блок кодирования, нижний смежный блок кодирования, верхний левый смежный блок кодирования и нижний правый смежный блок кодирования.
S130: обновляют данные изображения в смежном блоке с межкадровым кодированием на основе неизменяемого значения или данных изображения в смежном блоке с внутренним кодированием, включенном в смежные блоки кодирования.
S140: кодируют текущий блок с внутренним кодированием на основе обновленных данных изображения в смежном блоке с межкадровым кодированием.
Для текущего блока кодирования текущего кадра с межкадровым кодированием решают, является ли текущий блок кодирования блоком с внутренним кодированием, который использует способ внутрикадрового кодирования для кодирования, и использует ли текущий блок кодирования способ ограниченного внутреннего предсказания для предсказания, кодирования или декодирования. Если определено, что текущий блок кодирования является текущим блоком с внутренним кодированием, который использует способ ограниченного внутреннего предсказания, то дополнительно выносят решение о способах кодирования смежных блоков кодирования текущего блока с внутренним кодированием. Если смежные блоки кодирования включают в себя блок с межкадровым кодированием, то блок с межкадровым кодированием не может служить в качестве опорного блока кодирования для текущего блока с внутренним кодированием. То есть во внутреннем предсказании данные изображения в блоке с межкадровым кодированием не могут быть использованы для предсказания текущего блока с внутренним кодированием. Таким образом, до внутреннего предсказания данные изображения в смежном блоке с межкадровым кодированием могут быть обновлены на основе неизменяемого значения или данных изображения в смежном блоке с внутренним кодированием, включенном в смежные блоки кодирования. Затем текущий блок с внутренним кодированием может быть закодирован на основе обновленных данных изображения в смежном блоке с межкадровым кодированием.
После обновления на данные изображения, на которые делается ссылка в блоке с межкадровым кодированием, можно ссылаться в соответствии с обычным способом, где данные изображения, на которые делается ссылка, указывают пиксели в смежных блоках, которые могут быть использованы в процессе предсказания для текущего блока с внутренним кодированием. Поскольку данные изображения блока с межкадровым кодированием обновлены, содержащиеся данные изображения, на которые делается ссылка, уже не являются пикселями, которые могут иметь ошибки передачи в блоке с межкадровым кодированием, и, таким образом, могут служить пикселями, на которые ссылается текущий блок с внутренним кодированием, тем самым гарантируя, что текущий блок с внутренним кодированием не будет ссылаться на данные изображения в смежном блоке с межкадровым кодированием, что может остановить ошибки передачи от переноса в текущий блок с внутренним кодированием.
Согласно способу в варианте воплощения настоящего изобретения данные изображения в смежных блоках с межкадровым кодированием обновляются, и текущий блок с внутренним кодированием кодируется или декодируется с использованием обновленных данных изображения, так что блоки с межкадровым кодированием, на которые ссылается блок с внутренним кодированием, не будут переносить накопленные ошибки к блоку с внутренним кодированием, тем самым улучшая способность исправления ошибок блока с внутренним кодированием и улучшая качество декодирования данных изображения.
В варианте воплощения настоящего изобретения оценка может сначала быть сделана о том, является ли текущий блок кодирования блоком с внутренним кодированием. Если текущий блок кодирования является между блоком с межкадровым кодированием, то процедура обработки текущих данных изображения заканчивается и выполняется последующая обработка для следующего блока кодирования в текущем кадре с межкадровым кодированием. Когда определено, что текущий блок кодирования является блоком с внутренним кодированием, дополнительно делается оценка, использует ли текущий блок с внутренним кодированием способ ограниченного внутреннего предсказания для предсказания. Если нет, то нет необходимости в последующем процессе обновления, и текущая процедура заканчивается. Необязательно, оценка может сначала также же быть сделана, использует ли текущий блок кодирования способ ограниченного внутреннего предсказания для предсказания. Когда определено, что текущий блок кодирования использует способ ограниченного внутреннего предсказания, делается оценка способа кодирования текущего блока кодирования. Специалисты в данной области техники могут дополнительно подумать над оценкой способа кодирования текущего блока кодирования и оценить, используется ли способ ограниченного внутреннего предсказания для одновременного осуществления предсказания, кодирования или декодирования.
В варианте воплощения настоящего изобретения во время декодирования в потоке битов может быть использован идентификатор для оценки способа кодирования текущего кодированного кадра, чтобы определить, является ли текущий кодированный кадр кадром с межкадровым кодированием; и во время кодирования может делаться оценка, является ли текущий кодированный кадр кадром с межкадровым кодированием через параметры кодирования и процедуры кодирования. Кроме того, для оценки способа кодирования блока кодирования каждый блок кодирования может иметь идентификатор, который указывает способ кодирования блока кодирования. Во время декодирования может быть определено, использует ли текущий блок кодирования способ внутрикадрового кодирования для кодирования в соответствии с соответствующим идентификатором способа кодирования текущего блока кодирования в потоке битов; и при декодировании также может быть определено, является ли текущий блок кодирования блоком с внутренним кодированием посредством параметров кодирования и процедур кодирования. Специалисты в данной области техники могут понимать, что для оценки способов кодирования кодированных кадра и блока кодирования могут также использоваться другие хорошо известные в данной области техники способы.
В варианте воплощения настоящего изобретения может быть определено, использует ли текущий блок кодирования способ ограниченного внутреннего предсказания для кодирования или декодирования в соответствии с флагом ограниченного внутреннего предсказания (флаг ограниченного внутреннего предсказания) в потоке битов. Например, если флаг ограниченного внутреннего предсказания является 1, он указывает, что текущий блок кодирования использует способ ограниченного внутреннего предсказания для предсказания, кодирования или декодирования; а когда флаг ограниченного внутреннего предсказания является 0, он указывает, что текущий блок кодирования не использует способ ограниченного внутреннего предсказания для предсказания, кодирования или декодирования. Специалисты в данной области техники могут понимать, что другие хорошо известные в данной области техники способы могут также использоваться для оценки способа ограниченного внутреннего предсказания.
Фиг.3 является схематической диаграммой процесса обновления в соответствии с вариантом воплощения настоящего изобретения, например, принимая иерархические блоки высокоэффективного видеокодирования (высокоэффективное видеокодирование, HEVC для краткости). Во время обработки обновления данных изображения в смежном блоке с межкадровым кодированием все данные изображения в смежном блоке с межкадровым кодированием могут быть обновлены. Необязательно, может быть обновлена только одна строка или один столбец данных пикселей в смежном блоке с межкадровым кодированием, расположенном рядом с текущим блоком с внутренним кодированием. Специалисты в данной области техники могут понимать, что могут быть обновлены несколько строк или несколько столбцов данных пикселей в смежном блоке с межкадровым кодированием.
В варианте воплощения настоящего изобретения, в процессе обработки обновления данных изображения в смежном блоке с межкадровым кодированием может быть сначала определено, что смежные блоки кодирования дополнительно включают в себя по меньшей мере один смежный блок с внутренним кодированием. То есть смежные блоки кодирования текущего блока с внутренним кодированием включают в себя блок с межкадровым кодированием и блок с внутренним кодированием одновременно. В по меньшей мере одном смежном блоке с внутренним кодированием, может быть определен смежный блок с внутренним кодированием, который является наиболее близко расположенным с текущим смежным блоком с межкадровым кодированием, и данные изображения в смежном блоке с межкадровым кодированием могут быть обновлены на основании данных изображения в наиближайшем смежном блоке с внутренним кодированием. Необязательно, значение пикселя в более близком блоке с внутренним кодированием, который является ближайшим к смежному блоку с межкадровым кодированием, может быть заполнено до смежного блока с межкадровым кодированием.
Как показано на фиг.4(а), текущий блок E с внутренним кодированием включает в себя четыре смежных блока кодирования, то есть верхний левый смежный блок кодирования А, верхний смежный блок кодирования B, верхний правый смежный блок кодирования С, и левый смежный блок кодирования D, где только верхний правый смежный блок кодирования C определяется как смежный блок с внутренним кодированием. Далее, например, происходит процесс обновления данных изображения в смежном блоке с межкадровым кодированием B. Среди четырех смежных блоков кодирования только верхний правый смежный блок кодирования С является блоком с внутренним кодированием. В этом случае значение пикселя в верхнем правом смежном блоке кодирования C, который является ближайшим к смежному блоку кодирования B, может быть заполнено в смежном блоке с межкадровым кодированием В. Необязательно, что значение пикселя может быть заполнено до строки пикселей в смежном блоке с межкадровым кодированием В, расположенном рядом с текущим блоком с внутренним кодированием Е, как показано на фиг.4(а).
Когда смежные блоки кодирования включают в себя несколько блоков с внутренним кодированием, как показано на Фиг.4(б), тогда верхний правый смежный блок кодирования С и левый смежный блок кодирования D оба являются смежными блоками с внутренним кодированием. Во время процесса обновления данных изображения в смежном блоке с межкадровым кодированием B может быть определено, что левый смежный блок кодирования D является ближайшим смежным блоком с межкадровым кодированием В. Таким образом, данные изображения в смежном блоке B с межкадровым кодированием могут быть обновлены до данных изображения в левом смежном блоке кодирования D.
В другом варианте воплощения настоящего изобретения, когда определено, что смежные блоки кодирования включают в себя по меньшей мере два смежных блоков с внутренним кодированием, тогда данные изображения в смежном блоке с межкадровым кодированием могут быть обновлены на основе данных изображения по меньшей мере в двух смежных блоках с внутренним кодированием, посредством средневзвешенной величины расстояний от по меньшей мере двух смежных блоков с внутренним кодированием до текущего блока с внутренним кодированием.
Далее переходим, например, к фиг.4(с). Там имеются смежные блоки внутреннего кодирования с обеих сторон смежного блока с межкадровым кодированием В, то есть верхний левый смежный блок кодирования А и верхний правый смежный блок кодирования С. Предположим, что значения пикселей в верхнем левом смежном блоке кодирования А и верхнем правом смежном блоке кодирования C, которые являются ближайшими к смежному блоку с межкадровым кодированием B, являются Pr и Pl соответственно, и кратчайшие расстояния от текущего пикселя смежного блока с межкадровым кодированием B являются а и b соответственно. Значение пикселя R может быть заполнено до текущего пикселя в смежном блоке с межкадровым кодированием В. Значение пикселя R может быть выражено формулой (1):
R = ( Pr × a + P l × b ) / ( a + b ) ( 1 )
В другом варианте воплощения настоящего изобретения, в процессе обновления данных изображения в смежном блоке с межкадровым кодированием, когда определено, что все смежные блоки кодирования являются блоками с межкадровым кодированием, тогда данные изображения в смежном блоке с межкадровым кодированием могут быть обновлены до неизменяемого значения, например 128 или другого неизменяемого значения. Необязательно, данные изображения во всех смежных блоках кодирования могут быть непосредственно обновлены до неизменяемого значения после того как установлено, что смежные блоки кодирования включают в себя смежные блоки с межкадровым кодированием, независимо от того включают ли в себя смежные блоки кодирования смежный блок с внутренним кодированием.
Для обработанного смежного блока с межкадровым кодированием, так как его данные изображения, на которые ссылаются, приходят из неизменяемого значения или смежного блока с внутренним кодированием, смежный блок с межкадровым кодированием, после процесса обновления, может служить опорным блоком кодирования для текущего блока с внутренним кодированием. Кроме того, смежный блок с межкадровым кодированием можно рассматривать как блок с внутренним кодированием. В другом аспекте, в процессе обновления данных изображения других смежных блоков с межкадровым кодированием обновленные данные изображения в смежном блоке с межкадровым кодированием могут быть заполнены до других смежных блоков с межкадровым кодированием в соответствии с предыдущим способом.
Согласно способу в варианте воплощения настоящего изобретения данные изображения в смежных блоках с межкадровым кодированием обновляются, и текущий блок с внутренним кодированием кодируется или декодируется с использованием обновленных данных изображения, так что блоки с межкадровым кодированием, на которые ссылается блок с внутренним кодированием, не будут переносить накопленные ошибки блоку с внутренним кодированием, тем самым улучшая способность исправления ошибок блока с внутренним кодированием и улучшая качество декодирования данных изображения; кроме того, так как блок с внутренним кодированием может ссылаться на данные изображения смежных блоков кодирования, способ в соответствии с вариантом воплощения настоящего изобретения может дополнительно улучшать эффективность кодирования или декодирования блока с внутренним кодированием.
Фиг.5 является схематической диаграммой способа декодирования изображения в соответствии с вариантом воплощения настоящего изобретения. Как показано на фиг.5, этот способ включает в себя этапы, на которых:
S210: определяют текущий блок с внутренним кодированием, который использует способ ограниченного внутреннего предсказания среди текущих кадров с межкадровым кодированием, причем способ ограниченного внутреннего предсказания означает, что во время кодирования, декодирования или предсказания блока с внутренним кодированием опорные данные блока с внутренним кодированием могут только приходить от данных изображения блоков с внутренним кодированием, которые расположены рядом с блоком с внутренним кодированием или значения по умолчанию (неизменяемого значения), но не могут приходить от данных изображения смежных блоков с межкадровым кодированием.
S220: определяют, что смежные блоки кодирования, которые расположены рядом с текущим блоком с внутренним кодированием, содержат смежный блок с межкадровым кодированием, причем смежные блоки кодирования являются блоками кодирования, которые расположены рядом с или соединены с текущим блоком с внутренним кодированием, и для текущего блока с внутренним кодированием его смежные блоки кодирования могут включать в себя левый смежный блок кодирования, верхний смежный блок кодирования, нижний левый смежный блок кодирования и верхний правый смежный блок кодирования. Конечно, специалисты в данной области техники могут дополнительно сделать заключение, что смежные блоки кодирования могут дополнительно включать в себя правый смежный блок кодирования, нижний смежный блок кодирования, верхний левый смежный блок кодирования и нижний правый смежный блок кодирования.
S230: обновляют данные изображения в смежном блоке с межкадровым кодированием на основе неизменяемого значения или данных изображения в смежном блоке с внутренним кодированием, содержащемся в смежных блоках кодирования.
S240: декодируют текущий блок с внутренним кодированием на основе обновленных данных изображения в смежном блоке с межкадровым кодированием.
В варианте воплощения настоящего изобретения может быть определено в соответствии с соответствующим идентификатором способа кодирования текущего блока кодирования текущего кадра с межкадровым кодированием в потоке битов, что текущий блок кодирования использует способ внутрикадрового кодирования для кодирования. Необязательно, он может быть определен в соответствии с флагом ограниченного внутреннего предсказания в битовом потоке, что текущий блок кодирования использует способ ограниченного внутреннего предсказа