Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений
Иллюстрации
Показать всеИзобретение относится к области кодирования и декодирования изображений. Техническим результатом является повышение устойчивости кодирования и декодирования изображений. Способ кодирования изображений содержит этапы, на которых: выбирают первое изображение из нескольких изображений; задают первый флаг временного прогнозирования векторов движения, который ассоциирован с первым изображением и является флагом временного прогнозирования векторов движения, указывающим то, должно или нет быть использовано временное прогнозирование векторов движения, так что он указывает то, что временное прогнозирование векторов движения не должно быть использовано, и кодируют первый флаг временного прогнозирования векторов движения; кодируют первое изображение без использования временного прогнозирования векторов движения и кодируют второе изображение, которое идет после первого изображения в порядке кодирования, с запрещением обращения к вектору движения изображения, предшествующего первому изображению в порядке кодирования. 5 н. и 8 з.п. ф-лы, 32 ил.
Реферат
[0001] Настоящее изобретение относится к способу кодирования изображений и способу декодирования изображений.
УРОВЕНЬ ТЕХНИКИ
[0002] В схемах кодирования предшествующего уровня техники, таких как H.264/MPEG-4 AVC и высокоэффективное кодирование видео (HEVC) следующего поколения, изображения и контент изображений кодируются либо декодируются с использованием взаимного прогнозирования, которое использует ранее кодированное или декодированное опорное изображение. Таким образом, в этих схемах кодирования изображений, используется информационная избыточность по последовательным во времени изображениям (например, см. непатентный документ (NPL) 1).
СПИСОК БИБЛИОГРАФИЧЕСКИХ ССЫЛОК
Непатентные документы
[0003] NPL 1. ISO/IEC 14496-10 "MPEG-4 Part 10 Advanced Video Coding"
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
[0004] Требуется повышение устойчивости от такого способа кодирования изображений и способа декодирования изображений.
[0005] С учетом этого, настоящее изобретение имеет цель предоставлять способ кодирования изображений и способ декодирования изображений, которые допускают повышение устойчивости.
РЕШЕНИЕ ЗАДАЧИ
[0006] Чтобы достигать вышеуказанной цели, способ кодирования изображений согласно аспекту настоящего изобретения включает в себя: (A) выбор первого изображения из нескольких изображений; (B) задание первого флага временного прогнозирования векторов движения, который ассоциирован с первым изображением и является флагом временного прогнозирования векторов движения, указывающим то, должно или нет быть использовано временное прогнозирование векторов движения, так что он указывает то, что временное прогнозирование векторов движения не должно быть использовано, и кодирование первого флага временного прогнозирования векторов движения; (C) кодирование первого изображения без использования временного прогнозирования векторов движения; и (D) кодирование второго изображения, которое идет после первого изображения в порядке кодирования, с запрещением обращения к вектору движения изображения, предшествующего первому изображению в порядке кодирования.
[0007] Следует отметить, что общие и конкретные аспекты, описанные выше, могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или машиночитаемого носителя записи, такого как CD-ROM, либо любой комбинации систем, способов, интегральных схем, компьютерных программ или машиночитаемых носителей записи.
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
[0008] Настоящее изобретение может предоставлять способ кодирования изображений и способ декодирования изображений, которые допускают повышение устойчивости.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0009] Фиг. 1 является блок-схемой устройства кодирования изображений согласно варианту 1 осуществления.
Фиг. 2 является блок-схемой последовательности операций способа кодирования изображений согласно варианту 1 осуществления.
Фиг. 3 является блок-схемой последовательности операций способа кодирования изображений согласно варианту 1 осуществления.
Фиг. 4A является блок-схемой последовательности операций способа кодирования изображений согласно варианту 1 осуществления.
Фиг. 4B является схемой для описания способа кодирования изображений согласно варианту 1 осуществления.
Фиг. 4C является схемой для описания способа кодирования изображений согласно варианту 1 осуществления.
Фиг. 5 является блок-схемой последовательности операций модификации способа кодирования изображений согласно варианту 1 осуществления.
Фиг. 6 является схемой, показывающей примерную конфигурацию кодированного потока битов согласно варианту 1 осуществления.
Фиг. 7 является блок-схемой устройства декодирования изображений согласно варианту 1 осуществления.
Фиг. 8 является блок-схемой последовательности операций способа декодирования изображений согласно варианту 1 осуществления.
Фиг. 9 является блок-схемой последовательности операций способа декодирования изображений согласно варианту 1 осуществления.
Фиг. 10 является схемой общей конфигурации системы предоставления контента для реализации услуг распространения контента.
Фиг. 11 является схемой общей конфигурации цифровой широковещательной системы.
Фиг. 12 является блок-схемой, показывающей пример конфигурации телевизионного приемника.
Фиг. 13 является блок-схемой, показывающей пример конфигурации модуля воспроизведения/записи информации, который считывает и записывает информацию с или на носитель записи, который является оптическим диском.
Фиг. 14 является схемой, показывающей пример конфигурации носителя записи, который является оптическим диском.
Фиг. 15A является схемой, показывающей пример сотового телефона.
Фиг. 15B является блок-схемой, показывающей пример конфигурации сотового телефона.
Фиг. 16 является схемой, показывающей структуру мультиплексированных данных.
Фиг. 17 является схемой, схематично иллюстрирующей то, как каждый поток мультиплексируется в мультиплексированные данные.
Фиг. 18 является схемой, подробнее показывающей то, как видеопоток сохраняется в потоке PES-пакетов.
Фиг. 19 является схемой, показывающей структуру TS-пакетов и исходных пакетов в мультиплексированных данных.
Фиг. 20 является схемой, иллюстрирующей структуру данных PMT.
Фиг. 21 является схемой, показывающей внутреннюю структуру информации мультиплексированных данных.
Фиг. 22 является схемой, показывающей внутреннюю структуру информации атрибутов потока.
Фиг. 23 является схемой, показывающей этапы для идентификации видеоданных.
Фиг. 24 является блок-схемой, иллюстрирующей пример конфигурации интегральной схемы для реализации способа кодирования движущихся изображений и способа декодирования движущихся изображений согласно каждому из вариантов осуществления.
Фиг. 25 является схемой, показывающей конфигурацию для переключения между частотами возбуждения.
Фиг. 26 является схемой, показывающей этапы для идентификации видеоданных и переключения между частотами возбуждения.
Фиг. 27 является схемой, показывающей пример таблицы поиска, в которой стандарты видеоданных ассоциированы с частотами возбуждения.
Фиг. 28A является схемой, иллюстрирующей пример конфигурации для совместного использования процессора сигналов.
Фиг. 28B является схемой, показывающей другой пример конфигурации для совместного использования процессора сигналов.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0010] Базовая основа формирования знаний настоящего изобретения
Авторы изобретения выявили возникновение следующих проблем относительно предшествующего уровня техники.
[0011] Устройство декодирования изображений идентифицирует опорное изображение, используемое при взаимном прогнозировании единицы прогнозирования (блока выборок M×N и т.д.), посредством использования опорного индекса. Опорный индекс является индексом, который назначается каждому из одного или более опорных изображений, включенных в список опорных изображений. Кроме того, список опорных изображений является упорядоченным списком, указывающим одно или более опорных изображений. Кроме того, опорный индекс уникально ассоциирован с опорным изображением в буфере декодированных изображений (DPB).
[0012] В схемах кодирования изображений предшествующего уровня техники выполняется временное прогнозирование векторов движения. Векторы движения целевого блока выборок прогнозируются из векторов движения одного или более ранее кодированных блоков выборок, включенных в совместно размещенное опорное изображение. Совместно размещенное опорное изображение выбирается из числа доступных опорных изображений посредством использования предварительно определенной схемы. Например, первое опорное изображение выбирается, в качестве совместно размещенного опорного изображения, из числа опорных изображений, включенных в предварительно определенный список опорных изображений (к примеру, список 0 опорных изображений).
[0013] В вариантах применения, требующих передачи изображений с использованием необратимого сжатия, временное прогнозирование векторов движения подвержено ошибочному прогнозированию вектора движения, когда совместно размещенное опорное изображение потеряно или содержит ошибки. В традиционной схеме HEVC-кодирования изображений в наборе параметров изображения (PPS) вводится флаг маркировки, чтобы отмечать все изображения, включенные в буфер изображения декодера (DPB), как "неиспользуемые для временного прогнозирования векторов движения". Этот процесс маркировки выполняется, когда серия последовательных макроблоков обращается к PPS, имеющему флаг маркировки, указывающий "истина".
[0014] Авторы изобретения выявили, что в этой схеме имеется проблема в том, что когда серия последовательных макроблоков, для которой должна быть выполнена маркировка, потеряна или содержит ошибку, видеодекодер не может выполнять намеченный процесс маркировки и последующую синхронизацию между кодером и декодером. В связи с этим, вышеуказанная схема для деактивации временного прогнозирования векторов движения не является устойчивой.
[0015] В вариантах осуществления, описываются способы, которые повышают устойчивость к ошибкам в способе кодирования изображений и способе декодирования изображений, которые деактивируют временное прогнозирование векторов движения. Способ кодирования изображений и способ декодирования изображений согласно вариантам осуществления могут исключать процесс маркировки опорных изображений как "неиспользуемых для временного прогнозирования векторов движения", тем самым исключая подверженность к ошибкам в вышеуказанной схеме. Преимущество вариантов осуществления заключается в повышении устойчивости к ошибкам временного прогнозирования векторов движения.
[0016] Способ кодирования изображений согласно аспекту вариантов осуществления включает в себя: (A) выбор первого изображения из нескольких изображений; (B) задание первого флага временного прогнозирования векторов движения, который ассоциирован с первым изображением и является флагом временного прогнозирования векторов движения, указывающим то, должно или нет быть использовано временное прогнозирование векторов движения, так что он указывает то, что временное прогнозирование векторов движения не должно быть использовано, и кодирование первого флага временного прогнозирования векторов движения; (C) кодирование первого изображения без использования временного прогнозирования векторов движения; и (D) кодирование второго изображения, которое идет после первого изображения в порядке кодирования, с запрещением обращения к вектору движения изображения, предшествующего первому изображению в порядке кодирования.
[0017] Соответственно, запрещается обращение второго изображения, идущего после первого изображения, к вектору движения изображения, предшествующего первому изображению. Соответственно, способ кодирования изображений допускает предотвращение распространения ошибки на первое изображение и за счет этого допускает повышение устойчивости.
[0018] Например, временной уровень может задаваться для каждого из изображений, и на этапе (A), изображение, имеющее наибольший временной уровень, может быть выбрано в качестве первого изображения, из числа изображений.
[0019] Соответственно, изображение, имеющее высокий приоритет, задается как первое изображение. Это позволяет более корректно предотвращать распространение ошибки.
[0020] Например, этап (D) может включать в себя: (D1) определение того, имеет или нет второе изображение совместно размещенное опорное изображение, которое предшествует первому изображению в порядке кодирования; (D2) когда второе изображение имеет совместно размещенное опорное изображение, которое предшествует первому изображению в порядке кодирования: (i) задание второго флага временного прогнозирования векторов движения, который является флагом временного прогнозирования векторов движения, ассоциированным со вторым изображением, так что он указывает то, что временное прогнозирование векторов движения не должно быть использовано; (ii) кодирование второго флага временного прогнозирования векторов движения; и (iii) кодирование второго изображения без использования временного прогнозирования векторов движения; и (D3) когда второе изображение не имеет совместно размещенного опорного изображения, которое предшествует первому изображению в порядке кодирования: (i) задание второго флага временного прогнозирования векторов движения так, что он указывает то, что временное прогнозирование векторов движения должно быть использовано, или указывает то, что временное прогнозирование векторов движения не должно быть использовано; (ii) кодирование второго флага временного прогнозирования векторов движения; и (iii) кодирование второго изображения с использованием или без использования временного прогнозирования векторов движения.
[0021] Например, этап (D) может включать в себя: (D1) определение того, предшествует или нет второе изображение первому изображению в порядке отображения; (D2) определение того, имеет или нет второе изображение совместно размещенное опорное изображение, которое предшествует первому изображению в порядке кодирования или в порядке отображения; (D3) когда второе изображение идет после первого изображения в порядке отображения и имеет совместно размещенное опорное изображение, которое предшествует первому изображению в порядке кодирования или в порядке отображения: (i) задание второго флага временного прогнозирования векторов движения, который является флагом временного прогнозирования векторов движения, ассоциированным со вторым изображением, так что он указывает то, что временное прогнозирование векторов движения не должно быть использовано; (ii) кодирование второго флага временного прогнозирования векторов движения; и (iii) кодирование второго изображения без использования временного прогнозирования векторов движения; и (D4) когда второе изображение предшествует первому изображению в порядке отображения или когда второе изображение идет после первого изображения в порядке отображения и имеет совместно размещенное опорное изображение, которое предшествует первому изображению в порядке кодирования или в порядке отображения: (i) задание второго флага временного прогнозирования векторов движения, который является флагом временного прогнозирования векторов движения, ассоциированным со вторым изображением, так что он указывает то, что временное прогнозирование векторов движения не должно быть использовано; (ii) кодирование второго флага временного прогнозирования векторов движения; и (iii) кодирование второго изображения без использования временного прогнозирования векторов движения.
[0022] Например, на этапе (B), первый флаг временного прогнозирования векторов движения, указывающий то, что временное прогнозирование векторов движения не должно быть использовано, может записываться в заголовок для каждой серии последовательных макроблоков, включенной в первое изображение.
[0023] Соответственно, первое изображение может задаваться посредством использования, на основе серии последовательных макроблоков, флага, указывающего то, должно или нет быть использовано временное прогнозирование векторов движения. Вследствие этого, повышение устойчивости может быть реализовано при подавлении увеличения объема данных потока кодированных битов.
[0024] Например, способ кодирования изображений дополнительно может включать в себя: (E) создание первого списка, указывающего несколько прогнозирующих функций вектора движения, который включает в себя временную прогнозирующую функцию вектора движения, извлекаемую из вектора движения совместно размещенного опорного изображения, когда флаг временного прогнозирования векторов движения указывает то, что временное прогнозирование векторов движения должно быть использовано; и (F), создание второго списка, указывающего несколько прогнозирующих функций вектора движения, который не включает в себя временную прогнозирующую функцию вектора движения, когда флаг временного прогнозирования векторов движения указывает то, что временное прогнозирование векторов движения не должно быть использовано.
[0025] Соответственно, объем данных, когда временное прогнозирование векторов движения не должно быть использовано, может быть уменьшен.
[0026] Кроме того, способ декодирования изображений согласно аспекту вариантов осуществления включает в себя: (A) получение, из потока битов, первого флага временного прогнозирования векторов движения, который является флагом временного прогнозирования векторов движения, указывающим то, должно или нет быть использовано временное прогнозирование векторов движения, указывающего то, что временное прогнозирование векторов движения не должно быть использовано в первом изображении; (B) декодирование первого изображения без использования временного прогнозирования векторов движения; и (C), декодирование второго изображения, которое идет после первого изображения в порядке декодирования, с запрещением обращения к вектору движения изображения, предшествующего первому изображению в порядке декодирования.
[0027] Соответственно, запрещается обращение второго изображения, идущего после первого изображения, к вектору движения изображения, предшествующего первому изображению. Соответственно, способ декодирования изображений допускает предотвращение распространения ошибки на первое изображение и за счет этого допускает повышение устойчивости.
[0028] Например, временной уровень может задаваться для каждого из нескольких изображений, и первое изображение может быть изображением, имеющим наибольший временной уровень из изображений.
[0029] Соответственно, изображение, имеющее высокий приоритет, задается как первое изображение. Это позволяет более корректно предотвращать распространение ошибки.
[0030] Например, на этапе (A), первый флаг временного прогнозирования векторов движения, указывающий то, что временное прогнозирование векторов движения не должно быть использовано, может быть получен из заголовка каждой серии последовательных макроблоков, включенной в первое изображение.
[0031] Соответственно, первое изображение может задаваться посредством использования, на основе серии последовательных макроблоков, флага, указывающего то, должно или нет быть использовано временное прогнозирование векторов движения. Вследствие этого, повышение устойчивости может быть реализовано при подавлении увеличения объема данных потока кодированных битов.
[0032] Например, способ декодирования изображений дополнительно может включать в себя: (D) создание первого списка, указывающего несколько прогнозирующих функций вектора движения, который включает в себя временную прогнозирующую функцию вектора движения, извлекаемую из вектора движения совместно размещенного опорного изображения, когда флаг временного прогнозирования векторов движения указывает то, что временное прогнозирование векторов движения должно быть использовано; и (E) создание второго списка, указывающего несколько прогнозирующих функций вектора движения, который не включает в себя временную прогнозирующую функцию вектора движения, когда флаг временного прогнозирования векторов движения указывает то, что временное прогнозирование векторов движения не должно быть использовано.
[0033] Соответственно, объем данных, когда временное прогнозирование векторов движения не должно быть использовано, может быть уменьшен.
[0034] Кроме того, устройство кодирования изображений согласно аспекту вариантов осуществления включает в себя: модуль задания, выполненный с возможностью выбирать первое изображение из нескольких изображений и задавать первый флаг временного прогнозирования векторов движения, который ассоциирован с первым изображением и является флагом временного прогнозирования векторов движения, указывающим то, должно или нет быть использовано временное прогнозирование векторов движения, так что он указывает то, что временное прогнозирование векторов движения не должно быть использовано; и модуль кодирования, выполненный с возможностью (i) кодировать первый флаг временного прогнозирования векторов движения, (ii) кодировать первое изображение без использования временного прогнозирования векторов движения, и (iii) кодировать второе изображение, которое идет после первого изображения в порядке кодирования, с запрещением обращения к вектору движения изображения, предшествующего первому изображению в порядке кодирования.
[0035] Согласно этой конфигурации запрещается обращение второго изображения, идущего после первого изображения, к вектору движения изображения, предшествующего первому изображению. Соответственно, устройство кодирования изображений допускает предотвращение распространения ошибки на первое изображение и за счет этого допускает повышение устойчивости.
[0036] Кроме того, устройство декодирования изображений согласно аспекту вариантов осуществления включает в себя: модуль получения, выполненный с возможностью получать, из потока битов, первый флаг временного прогнозирования векторов движения, который является флагом временного прогнозирования векторов движения, указывающим то, должно или нет быть использовано временное прогнозирование векторов движения, указывающий то, что временное прогнозирование векторов движения не должно быть использовано в первом изображении; и модуль декодирования, выполненный с возможностью (i) декодировать первое изображение без использования временного прогнозирования векторов движения, и (ii) декодировать второе изображение, которое идет после первого изображения в порядке декодирования, с запрещением обращения к вектору движения изображения, предшествующего первому изображению в порядке декодирования.
[0037] Согласно этой конфигурации запрещается обращение второго изображения, идущего после первого изображения, к вектору движения изображения, предшествующего первому изображению. Соответственно, устройство декодирования изображений допускает предотвращение распространения ошибки на первое изображение и за счет этого допускает повышение устойчивости.
[0038] Кроме того, устройство кодирования и декодирования изображений согласно аспекту вариантов осуществления может включать в себя устройство кодирования изображений и устройство декодирования изображений.
[0039] Следует отметить, что общие и конкретные аспекты, описанные выше, могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или машиночитаемого носителя записи, такого как CD-ROM, либо любой комбинации систем, способов, интегральных схем, компьютерных программ или машиночитаемых носителей записи.
[0040] Далее описаны варианты осуществления настоящего изобретения со ссылками на чертежи.
[0041] Следует отметить, что каждый из вариантов осуществления, описанных ниже, показывает общий или конкретный пример. Числовые значения, формы, материалы, структурные элементы, компоновка и соединение структурных элементов, этапы, порядка обработки этапов и т.д., показанные в нижеприведенных примерных вариантах осуществления, являются простыми примерами. Следовательно, из структурных элементов в нижеприведенных примерных вариантах осуществления, структурные элементы, не изложенные в любом из независимых пунктов формулы изобретения, задающих наиболее общую идею, описываются как произвольные структурные элементы.
Вариант 1 осуществления
Устройство кодирования
[0042] Во-первых, описывается конфигурация устройства кодирования изображений согласно этому варианту осуществления. Фиг. 1 является блок-схемой, показывающей конфигурацию устройства 100 кодирования изображений согласно этому варианту осуществления.
[0043] Устройство 100 кодирования изображений, показанное на Фиг. 1, кодирует входное изображение 120 (поток битов входного изображения) на основе блоков, чтобы формировать кодированный поток 132 битов. Устройство 100 кодирования изображений включает в себя модуль 101 вычитания, модуль 102 ортогонального преобразования, модуль 103 квантования, модуль 104 обратного квантования, модуль 105 обратного ортогонального преобразования, сумматор 106, запоминающее устройство 107 блоков, запоминающее устройство 108 кадров (запоминающее устройство изображений), модуль 109 внутреннего прогнозирования, модуль 110 взаимного прогнозирования, модуль 111 переключения, модуль 112 кодирования переменной длины (модуль энтропийного кодирования) и модуль 113 управления.
[0044] Модуль 101 вычитания вычитает прогнозированное изображение 131 из входного изображения 120, чтобы формировать остаточный сигнал 121. Модуль 102 ортогонального преобразования преобразует остаточный сигнал 121 в частотные коэффициенты, чтобы формировать коэффициенты 122 преобразования. Модуль 103 квантования квантует коэффициенты 122 преобразования, чтобы формировать квантованные коэффициенты 123. Модуль 112 кодирования переменной длины выполняет кодирование переменной длины (энтропийное кодирование) для квантованных коэффициентов 123, чтобы формировать кодированный поток 132 битов.
[0045] Модуль 104 обратного квантования обратно квантует квантованные коэффициенты 123, чтобы формировать коэффициенты 124 преобразования. Модуль 105 обратного ортогонального преобразования выполняет обратное преобразование частоты для коэффициентов 124 преобразования, чтобы формировать остаточный сигнал 125. Сумматор 106 суммирует остаточный сигнал 125 с прогнозированным изображением 131, чтобы формировать декодированное изображение 126. Декодированное изображение 126 сохраняется в запоминающем устройстве 107 блоков в качестве сигнала 127 изображения и сохраняется в запоминающем устройстве 108 кадров в качестве сигнала 128 изображения. Сигналы 127 и 128 изображений используются в последующей обработке прогнозирования.
[0046] Модуль 109 внутреннего прогнозирования выполняет внутреннее прогнозирование с использованием данных 127 изображений, сохраненных в запоминающем устройстве 107 блоков, чтобы формировать прогнозированное изображение 129. Например, модуль 109 внутреннего прогнозирования обнаруживает из обработанных областей изображения, включенных в изображение цели обработки, область изображения, которая в наибольшей степени соответствует области изображения цели обработки. Модуль 110 взаимного прогнозирования выполняет взаимное прогнозирование с использованием сигнала 128 изображения, сохраненного в запоминающем устройстве 108 кадров, чтобы формировать прогнозированное изображение 130. Например, модуль 110 взаимного прогнозирования обнаруживает область изображения, включенную в другое обработанное изображение, которая в наибольшей степени соответствует области изображения цели обработки. Модуль 111 переключения выбирает одно из прогнозированных изображений 129 и 130 и выводит выбранное прогнозированное изображение в качестве прогнозированного изображения 131.
[0047] Модуль 113 управления определяет то, следует или нет использовать временное прогнозирование векторов движения для взаимного прогнозирования серии последовательных макроблоков цели обработки, и выводит флаг 133 временного прогнозирования векторов движения, который является сигналом, указывающим результат определения, в модуль 110 взаимного прогнозирования и модуль 112 кодирования переменной длины. Модуль 110 взаимного прогнозирования выполняет взаимное прогнозирование с использованием или без использования временной прогнозирующей функции вектора движения на основе результата определения. Кроме того, модуль 112 кодирования переменной длины формирует кодированный поток 132 битов, который включает в себя флаг 133 временного прогнозирования векторов движения. Кроме того, временное прогнозирование векторов движения является обработкой, в которой прогнозирование векторов движения выполняется с использованием вектора движения, включенного в другое изображение, в качестве прогнозирующей функции вектора движения.
Процесс кодирования
[0048] Далее описывается работа вышеописанного устройства 100 кодирования изображений.
[0049] Фиг. 2 является блок-схемой последовательности операций способа для процесса кодирования изображений согласно этому варианту осуществления.
[0050] Во-первых, устройство 100 кодирования изображений записывает несколько параметров упорядочения списка опорных изображений в заголовок серии последовательных макроблоков для серии последовательных макроблоков, чтобы указывать порядок опорных изображений, включенных в один или более списков опорных изображений, которые должны использоваться для взаимного прогнозирования серии последовательных макроблоков (S101). Здесь, опорное изображение (к примеру, первое опорное изображение) в предварительно определенном местоположении в определенном списке опорных изображений (к примеру, в списке 0 опорных изображений) указывает совместно размещенное опорное изображение.
[0051] Затем, устройство 100 кодирования изображений записывает флаг временного прогнозирования векторов движения, указывающий то, должно или нет быть использовано временное прогнозирование векторов движения при взаимном прогнозировании серии последовательных макроблоков, в заголовок серии последовательных макроблоков (S102). Затем, устройство 100 кодирования изображений определяет то, указывает флаг временного прогнозирования векторов движения то, что временное прогнозирование векторов движения должно быть использовано или не должно быть использовано (S103). Значение флага, например, равно "0", когда временное прогнозирование векторов движения не должно быть использовано, и равно "1", когда временное прогнозирование векторов движения должно быть использовано.
[0052] Когда флаг указывает то, что временное прогнозирование векторов движения должно быть использовано ("Да" на этапе S104), устройство 100 кодирования изображений создает первый список прогнозирующих функций вектора движения, который включает в себя по меньшей мере одну временную прогнозирующую функцию вектора движения, извлекаемую из вектора движения совместно размещенного опорного изображения (S105). Далее устройство 100 кодирования изображений выбирает, из первого списка, прогнозирующую функцию вектора движения для обработки целевого блока выборок, включенного в серию последовательных макроблоков (S106). Затем, устройство 100 кодирования изображений записывает первый параметр (параметр выбора прогнозирующей функции вектора движения), указывающий выбранную прогнозирующую функцию вектора движения, в кодированный поток 132 битов (S107).
[0053] С другой стороны, когда флаг указывает то, что временное прогнозирование векторов движения не должно быть использовано ("Нет" на этапе S104), устройство 100 кодирования изображений создает второй список прогнозирующих функций вектора движения, который не включает в себя временную прогнозирующую функцию вектора движения (S108). Далее устройство 100 кодирования изображений выбирает, из второго списка, прогнозирующую функцию вектора движения для обработки целевого блока выборок, включенного в серию последовательных макроблоков (S109). Затем, устройство 100 кодирования изображений записывает второй параметр (параметр выбора прогнозирующей функции вектора движения), указывающий выбранную прогнозирующую функцию вектора движения, в кодированный поток 132 битов (S110).
[0054] После этапа S107 или S110 устройство 100 кодирования изображений выполняет взаимное прогнозирование с компенсацией движения с использованием прогнозирующей функции вектора движения, выбранной на этапе S106 или этапе S109, чтобы тем самым формировать прогнозный блок выборок (прогнозированное изображение 131) (S111). Затем, устройство 100 кодирования изображений вычитает прогнозный блок выборок (прогнозированное изображение 131) из исходного блока выборок (входного изображения 120), чтобы тем самым формировать остаточный блок выборок (остаточный сигнал 121) (S112). Далее устройство 100 кодирования изображений кодирует остаточный блок выборок, соответствующий целевому блоку, чтобы тем самым формировать кодированный поток 132 битов (S113).
[0055] Здесь, посредством флага временного прогнозирования векторов движения, одна серия последовательных макроблоков управляется независимо от других серий последовательных макроблоков. Кроме того, устройство 100 кодирования изображений не выполняет маркировку для опорного изображения в DPB. Кроме того, в этом варианте осуществления, значение флага временного прогнозирования векторов движения может отличаться для нескольких серий последовательных макроблоков в идентичном изображении.
[0056] Кроме того, в этом варианте осуществления, число прогнозирующих функций вектора движения отличается между первым списком и вторым списком прогнозирующих функций вектора движения, и число прогнозирующих функций во втором списке составляет на 1 меньше числа прогнозирующих функций в первом списке. Кроме того, в обоих списках, прогнозирующие функции вектора движения, помимо временных прогнозирующих функций вектора движения, являются одинаковыми. В кодированном потоке 132 битов различные битовые представления могут использоваться для первого параметра и второго параметра, которые представляют выбранную прогнозирующую функцию вектора движения. Например, может быть использовано усеченное унарное представление, имеющее различные максимальные значения при преобразовании в двоичную форму при арифметическом кодировании или при кодировании переменной длины.
[0057] Следует отметить, что число прогнозирующих функций вектора движения в первом списке и втором списке может быть одинаковым. В этом случае, вместо прогнозирующей функции временного прогнозирования векторов движения, второй список включает в себя невременную прогнозирующую функцию вектора движения, который не присутствует в первом списке. Невременная прогнозирующая функция вектора движения является временно независимой, т.е. извлекается без использования векторов движения из опорного изображения. Примером невременной прогнозирующей функции вектора движения является пространственная прогнозирующая функция вектора движения, извлекаемая с использованием одного или более соседних блоков в изображении, идентичном изображению целевого блока. Следует отметить, что невременная прогнозирующая функция вектора движения может быть нулевой прогнозирующей функцией вектора движения, имеющей горизонтальные компоненты вектора движения и вертикальные компоненты вектора движения, равные нулю.
[0058] В дальнейшем в этом документе, описывается другой пример процесса кодирования согласно этому варианту осуществления. Фиг. 3 является блок-схемой последовательности операций способа для процесса кодирования для кодирования нескольких изображений, согласно этому варианту осуществления.
[0059] Во-первых, устройство 100 кодирования изображений выбирает, из нескольких целевых изображений кодирования, начальное изображение для обновления временного прогнозирования векторов движения (S121). Обновление временного прогнозирования векторов движения означает, что распространение зависимости от прогнозирования векторов движения завершается в начальном изображении.
[0060] Здесь, устройство 100 кодирования изображений не использует изображения, предшествующие начальному изображению для временного прогнозирования векторов движения, при кодировании всех изображений, идущих после первого изображения в порядке кодирования. Обновление временного прогнозирования векторов движения предоставляет в кодированном потоке 132 битов точки восстановления, в которых могут быть скорректированы ошибки восстановления вследствие рассогласования временного прогнозирования векторов движения. За счет этого, повышается устойчивость к ошибкам.
[0061] После этого, устройство 100 кодирования изображений кодирует все серии последовательных макроблоков, включенные в начальное изображение. Кроме того, устройство 100 кодирования изображений задает флаги временного прогнозирования векторов движения