СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ
IMAGE CODING METHOD, IMAGE DECODING METHOD, IMAGE CODING DEVICE, IMAGE DECODING DEVICE, AND IMAGE CODING AND IMAGE DECODING DEVICE

[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 кодирования изображений задает флаги временного прогнозирования векторов движения всех серий последовательных макроблоков, включенных в начальное изображение, так что они указывают то, что "временное прогнозирование векторов движения не должно быть использовано" (например, значение флага в "0") (S122). Другими словами, временное прогнозирование векторов движения не должно использоваться для всех серий последовательных макроблоков, включенных в начальное изображение.
[0062] Затем, устройство 100 кодирования изображений определяет то, имеет или нет серия последовательных макроблоков, включенная в последующее изображение, которое идет после начального изображения в порядке кодирования, совместно размещенное опорное изображение, которое предшествует начальному изображению в порядке кодирования (S123).
[0063] Когда совместно размещенное опорное изображение серии последовательных макроблоков, включенной в последующее изображение, предшествует начальному изображению ("Да" на этапе S124), устройство 100 кодирования изображений кодирует серию последовательных макроблоков, включенную в последующее изображение. В это время, устройство 100 кодирования изображений задает флаг временного прогнозирования векторов движения для серии последовательных макроблоков последующего изображения так, что он указывает то, что "временное прогнозирование векторов движения не должно быть использовано" (например, значение флага в "0") (S125). Другими словами, временное прогнозирование векторов движения, отличных от начального изображения в порядке кодирования, деактивируется.
[0064] С другой стороны, когда совместно размещенное опорное изображение серии последовательных макроблоков последующего изображения не предшествует начальному изображению (т.е. начальное изображение или изображение, которое идет следующим в порядке кодирования, является совместно размещенным опорным изображением) ("Нет" на этапе S124), устройство 100 кодирования изображений кодирует серию последовательных макроблоков последующего изображения. В это время, устройство 100 кодирования изображений задает флаг временного прогнозирования векторов движения для серии последовательных макроблоков последующего изображения так, что он указывает то, что "временное прогнозирование векторов движения должно быть использовано" (например, значение флага в "1"), или указывает то, что "временное прогнозирование векторов движения не должно быть использовано" (например, значение флага в "0") (S126). Другими словами, когда совместно размещенное опорное изображение не предшествует начальному изображению в порядке кодирования, существует альтернатива в отношении того, использовать или нет временное прогнозирование векторов движения в целевой серии последовательных макроблоков. Кроме того, в этом варианте осуществления, выбор касательно того, использовать или нет временное прогнозирование векторов движения, осуществляется на основе того, максимизируется или нет эффективность кодирования.
[0065] Как описано выше, устройство 100 кодирования изображений выбирает первое изображение (начальное изображение) из числа нескольких изображений, как показано на Фиг. 4A (S141).
[0066] Затем, устройство 100 кодирования изображений задает первый флаг временного прогнозирования векторов движения, ассоциированный с первым изображением, так что он указывает то, что временное прогнозирование векторов движения не должно быть использовано, и кодирует первый флаг временного прогнозирования векторов движения (S142). В частности, устройство 100 кодирования изображений записывает первый флаг временного прогнозирования векторов движения, указывающий то, что временное прогнозирование векторов движения не должно быть использовано, в заголовки всех серий последовательных макроблоков, включенных в первое изображение.
[0067] Кроме того, устройство 100 кодирования изображений кодирует первое изображение без использования временного прогнозирования векторов движения (S143). После этого, устройство 100 кодирования изображений кодирует второе изображение, которое идет после первого изображения в порядке кодирования, с запрещением обращения к вектору движения изображения, предшествующего первому изображению в порядке кодирования (S144).
[0068] Соответственно, поскольку устройство 100 кодирования изображений может запрещать обращение второго изображения, идущего после первого изображения, к вектору движения изображения, предшествующего первому изображению в порядке кодирования, можно предотвращать распространение ошибки на первое изображение. Следовательно, устройство 100 кодирования изображений допускает повышение устойчивости.
[0069] Следует отметить, что порядок этапа S142 и этапа S143 может меняться местами.
[0070] Например, как показано на Фиг. 4B, в момент, когда изображение 4 кодируется, обращение к векторам движения изображения 0 и изображения 1, которые предшествуют начальному изображению 2, запрещается. Кроме того, как показано на Фиг. 4C, то же истинно для случая, когда порядок кодирования и порядок отображения (порядок вывода) отличаются. В примере, показанном на Фиг. 4C, в момент, когда изображение 4 кодируется, обращение к вектору движения изображения 0, которое предшествует начальному изображению, запрещается. Следует отметить, что на Фиг. 4B и Фиг. 4C, номера изображений (изображение 0, изображение 1, …,) указывают порядок кодирования.
[0071] Здесь, этап S141 и часть S142 выполняются посредством модуля задания, включенного в устройство 100 кодирования изображений. Кроме того, другая часть вышеуказанного этапа S142 и этапов S143 и S144 выполняется посредством модуля кодирования, включенного в устройство 100 кодирования изображений. Например, модуль задания включается в модуль 113 управления, показанный на Фиг. 1. Кроме того, основная функция модуля кодирования реализуется посредством модуля 110 взаимного прогнозирования, модуля кодирования переменной длины 112 и модуля 113 управления, показанных на Фиг. 1.
[0072] Кроме того, хотя в качестве способа запрещения обращения последующего изображения, которое идет после начального изображения, к вектору движения изображения, предшествующего начальному изображению, здесь проиллюстрирован способ, который не использует временное прогнозирование векторов движения для последующего изображения, могут быть использованы другие способы.
[0073] Например, когда совместно размещенное опорное изображение последующего изображения предшествует начальному изображению, устройство 100 кодирования изображений может изменять такое совместно размещенное опорное изображение на начальное изображение или изображение, идущее после первого изображения.
[0074] Кроме того, когда совместно размещенное опорное изображение последующего изображения предшествует начальному изображению, устройство 100 кодирования изображений может создавать список (второй список) прогнозирующих функций вектора движения, который не включает в себя временную прогнозирующую функцию вектора движения, вместо задания флага временного прогнозирования векторов движения так, что он указывает то, что "временное прогнозирование векторов движения не должно быть использовано". Кроме того, даже при создании списка прогнозирующих функций вектора движения, который включает в себя временную прогнозирующую функцию вектора движения, устройство 100 кодирования изображений, например, может выполнять кодирование без выбора индекса, назначаемого временной прогнозирующей функции вектора движения, с тем чтобы не выбирать временную прогнозирующую функцию вектора движения.
[0075] В дальнейшем в этом документе описывается модификация процесса кодирования согласно этому варианту осуществления. Фиг. 5 является блок-схемой последовательности операций способа для процесса кодирования для кодирования нескольких изображений, согласно модификации этого варианта осуществления.
[0076] Устройство 100 кодирования изображений выбирает, из нескольких изображений, начальное изображение для обновления временного прогнозирования векторов движения (S161). После этого, устройство 100 кодирования изображений кодирует все серии последовательных макроблоков, включенные в начальное изображение. Кроме того, устройство 100 кодирования изображений задает флаги временного прогнозирования векторов движения всех серий последовательных макроблоков, включенных в начальное изображение, так что они указывают то, что "временное прогнозирование векторов движения не должно быть использовано" (S162).
[0077] Затем, устройство 100 кодирования изображений определяет то, предшествует или нет последующее изображение, которое идет после начального изображения в порядке кодирования, начальному изображению в порядке вывода (также обычно называемом "порядком отображения") (S163).
[0078] Когда последующее изображение предшествует начальному изображению в порядке вывода ("Да" на этапе S164), устройство 100 кодирования изображений кодирует серию последовательных макроблоков последующего изображения. В это время, устройство 100 кодирования изображений задает флаг временного прогнозирования векторов движения для серии последовательных макроблоков последующего изображения так, что он указывает то, что "временное прогнозирование векторов движения должно быть использовано" (например, значение флага в "1"), или указывает то, что "временное прогнозирование векторов движения не должно быть использовано" (например, значение флага в "0") (S165). Другими словами, когда последующее изображение предшествует начальному изображению в порядке вывода, существует альтернатива в отношении того, использовать или нет временное прогнозирование векторов движения в серии последовательных макроблоков последующего изображения. В этом варианте осуществления, выбор касательно того, использовать или нет временное прогнозирование векторов движения, осуществляется на основе того, максимизируется или нет эффективность кодирования.
[0079] С другой стороны, когда последующее изображение не предшествует начальному изображению в порядке вывода (т.е. идет после начального изображения в порядке вывода) ("Нет" на этапе S164), устройство 100 кодирования изображений определяет то, имеет или нет серия последовательных макроблоков, включенная в последующее изображение, совместно размещенное опорное изображение, которое предшествует начальному изображению либо в порядке кодирования, либо в порядке вывода (S166).
[0080] Когда совместно размещенное опорное изображение серии последовательных макроблоков, включенной в последующее изображение, предшествует начальному изображению либо в порядке кодирования, либо в порядке вывода ("Да" на этапе S167), устройство 100 кодирования изображений кодирует серию последовательных макроблоков, включенную в последующее изображение. В это время, устройство 100 кодирования изображений задает флаг временного прогнозирования векторов движения для серии последовательных макроблоков так, что он указывает то, что "временное прогнозирование векторов движения не должно быть использовано" (например, значение флага в "0") (S168). Другими словами, временное прогнозирование векторов движения, отличных от начального изображения либо в порядке кодирования, либо в порядке вывода, деактивируется.
[0081] С другой стороны, когда совместно размещенное опорное изображение серии последовательных макроблоков, включенной в последующее изображение, не предшествует начальному изображению либо в порядке кодирования, либо в порядке вывода ("Нет" на этапе S167), устройство 100 кодирования изображений кодирует серию последовательных макроблоков, включенную в последующее изображение. В это время, устройство 100 кодирования изображений задает флаг временного прогнозирования векторов движения для серии последовательных макроблоков так, что он указывает то, что "временное прогнозирование векторов движения должно быть использовано" (например, значение флага в "1"), или указывает то, что "временное прогнозирование векторов движения не должно быть использовано" (например, значение флага в "0") (S169). Другими словами, когда совместно размещенное опорное изображение идет после начального изображения в порядке кодирования и порядке вывода, существует альтернатива в отношении того, использовать или нет временное прогнозирование векторов движения в целевой серии последовательных макроблоков. В этом варианте осуществления, выбор касательно того, использовать или нет временное прогнозирование векторов движения, осуществляется на основе того, максимизируется или нет эффективность кодирования.
[0082] Кроме того, в примере процесса кодирования, описанном выше, предоставляются нормативные ограничения, как показано ниже.
[0083] Временной уровень начального изображения имеет наивысший приоритет. Примером временного уровня, имеющего наивысший приоритет, является временной уровень 0 в схеме HEVC-кодирования видео, т.е. temporal_id в заголовке единицы уровня абстрагирования от сети (NAL) серии последовательных макроблоков равен 0.
[0084] Здесь, временной уровень (временная иерархия) указывает то, что изображение (серия последовательных макроблоков), имеющей определенный временной уровень, может обращаться к информации изображения, имеющего идентичный временной уровень или более высокий временной уровень. Например, изображение, имеющее наибольший временной уровень (temporal_id=0i), кодируется с использованием только изображения, имеющего наибольший временной уровень. Другими словами, изображение, имеющее наибольший временной уровень (temporal_id=0), может быть декодировано с использованием только изображения, имеющего наибольший временной уровень.
[0085] Все серии последовательных макроблоков, включенные в начальное изображение, не должны использовать временное прогнозирование векторов движения (например, значения флага, равные 0). Следовательно, начальное изображение идентифицируется в качестве изображения, имеющего временной уровень с наивысшим приоритетом (например, temporal_id 0), и флаг временного прогнозирования векторов движения указывает "не должно использоваться" (например, значение флага в 0).
[0086] Все изображения, идущие после первого изображения, не должны использовать временное прогнозирование векторов движения, отличных от начального изображения, как описано на Фиг. 3 (с использованием условий порядка кодирования) или Фиг. 5 (с использованием условий порядка кодирования и порядка вывода).
[0087] Кроме того, кодированный поток 132 битов соответствует нормативным условиям.
[0088] Устройство декодирования изображений согласно этому варианту осуществления может обнаруживать несоответствия потока битов (относительно нормативных ограничений) и произвольно выполнять процессы обработки ошибок, когда такие несоответствия обнаруживаются. Например, устройство декодирования изображений может маскировать несоответствующий блок (или серию последовательных макроблоков) посредством замены несоответствующего блока (или серии последовательных макроблоков) совместно размещенным блоком (или серией последовательных макроблоков), включенным в предшествующее восстановленное изображение, которое предшествует целевому изображению декодирования и является ближайшим к целевому изображению декодирования.
Синтаксис
[0089] Фиг. 6 является синтаксической схемой, показывающей местоположение флага временного прогнозирования векторов движения согласно этому варианту осуществления.
[0090] Как показано на Фиг. 6, параметры упорядочения списка опорных изображений для указания порядка опорных изображений в одном или более списков опорных изображений находятся в заголовке серии последовательных макроблоков. Эти параметры определяют фактический или конечный порядок списков опорных изображений, используемых для взаимного прогнозирования серии последовательных макроблоков, соответствующей заголовку серии последовательных макроблоков. Кроме того, эти параметры могут указывать процесс переупорядочения, который должен выполняться для одного или более начальных списков опорных изображений, или могут указывать то, что начальные списки опорных изображений должны быть использованы без переупорядочения. Здесь, начальный список опорных изображений является списком опорных изображений, созданным с использованием предварительно определенной упорядоченной схемы.
[0091] Кроме того, флаг временного прогнозирования векторов движения включается в заголовок серии последовательных макроблоков таким же образом, как параметры упорядочения списка опорных изображений. Флаг временного прогнозирования векторов движения указывает то, должно или нет быть использовано временное прогнозирование векторов движения для серии последовательных макроблоков, соответствующей заголовку серии последовательных макроблоков.
[0092] Параметр выбора прогнозирующей функции вектора движения предоставляется в каждой из единиц прогнозирования. Этот параметр выбора прогнозирующей функции вектора движения указывает одну прогнозирующую функцию вектора движения, выбранную при взаимном прогнозировании единицы прогнозирования, из числа нескольких прогнозирующих функций вектора движения, доступных для взаимного прогнозирования единицы прогнозирования.
[0093] Параметр временного уровня включается в заголовок серии последовательных макроблоков. Как описано выше, устройство 100 кодирования изображений выбирает начальное изображение для обновления временного прогнозирования векторов движения из числа нескольких изображений с использованием этого параметра временного уровня. В частности, устройство 100 кодирования изображений выбирает, в качестве начального изображения, изображение, имеющее наибольший временной уровень из нескольких изображений.
[0094] Следует отметить, что параметры упорядочения списка опорных изображений и флаг временного прогнозирования векторов движения могут быть включены в заголовок, совместно используемый несколькими сериями последовательных макроблоков, включенными в идентичное изображение. Примером такого заголовка является заголовок набора параметров адаптации (APS).
[0095] Сегментирование на серии последовательных макроблоков является одним способом для разделения изображения на несколько сегментов субизображений. Следовательно, этот вариант осуществления может применяться, когда другие используются способы сегментирования на субизображения, к примеру, единицы секционирования по мозаичным фрагментам, энтропийным сериям последовательных макроблоков или фронтам волны. Другими словами, параметры, включенные в заголовок серии последовательных макроблоков, могут быть включены в заголовок для единицы субизображения.
Преимущество изобретения в отношении кодирования
[0096] Соответственно, устройство 100 кодирования изображений согласно этому варианту осуществления допускает повышение устойчивости к ошибкам взаимного прогнозирования с использованием временной прогнозирующей функции вектора движения. Кроме того, устройство 100 кодирования изображений допускает повышение эффективности кодирования и гибкости взаимного прогнозирования, поскольку временные прогнозирующие функции вектора движения могут активироваться и деактивироваться независимо в нескольких сериях последовательных макроблоков, включенных в идентичное изображение.
Устройство декодирования
[0097] В дальнейшем в этом документе, описывается устройство 200 декодирования изображений согласно этому варианту осуществления. Устройство 200 декодирования изображений декодирует кодированный поток 132 битов, сформированный посредством вышеописанного устройства 100 кодирования изображений.
[0098] Фиг. 7 является блок-схемой, показывающей конфигурацию устройства 200 декодирования изображений согласно этому варианту осуществления.
[0099] Устройство 200 декодирования изображений декодирует кодированный поток 232 битов на основе блоков, чтобы формировать декодированное изображение 226. Здесь, кодированный поток 232 битов является, например, кодированным потоком 132 битов, сформированным посредством вышеописанного устройства 100 кодирования изображений.
[0100] Как показано на Фиг. 7, устройство 200 декодирования изображений включает в себя модуль 212 декодирования переменной длины (модуль энтропийного кодирования), модуль 204 обратного квантования, модуль 205 обратного ортогонального преобразования, сумматор 206, запоминающее устройство 207 блоков, запоминающее устройство 208 кадров (запоминающее устройство изображений), модуль 209 внутреннего прогнозирования, модуль 210 взаимного прогнозирования и модуль 211 переключения.
[0101] Модуль 212 декодирования переменной длины выполняет декодирование переменной длины для кодированного потока 232 битов, чтобы формировать квантованные коэффициенты 223. Модуль 204 обратного квантования обратно квантует квантованные коэффициенты 223, чтобы формировать коэффициенты 224 преобразования. Модуль 205 обратного ортогонального преобразования выполняет обратное преобразование частоты для коэффициентов 224 преобразования, чтобы формировать остаточный сигнал 225. Сумматор 206 суммирует остаточный сигнал 225 и прогнозированное изображение 231, чтобы формировать декодированное изображение 226. Декодированное изображение 226, например, выводится в модуль отображения. Кроме того, декодированное изображение 226 сохраняется в запоминающем устройстве 207 блоков и запоминающем устройстве 208 кадров, в качестве сигналов 227 и 228 изображений, соответственно, для последующего прогнозирования.
[0102] Модуль 209 внутреннего прогнозирования выполняет внутреннее прогнозирование с использованием сигнала 227 изображения, сохраненного в запоминающем устройстве 207 блоков, чтобы формировать прогнозированное изображение 229. Например, модуль 209 внутреннего прогнозирования обнаруживает из обработанных областей изображения, включенных в изображение цели обработки, область изображения, которая в наибольшей степени соответствует области изображения цели обработки. Модуль 210 взаимного прогнозирования выполняет взаимное прогнозирование с использованием сигнала 228 изображения, сохраненного в запоминающем устройстве 208 кадров, чтобы формировать прогнозированное изображение 230. Например, модуль 210 взаимного прогнозирования обнаруживает область изображения, включенную в другое обработанное изображение, которая в наибольшей степени соответствует области изображения цели обработки. Модуль 211 переключения выбирает одно из прогнозированных изображений 229 и 230 и выводит выбранное прогнозированное изображение в качестве прогнозированного изображения 231.
[0103] Кроме того, модуль 212 декодирования переменной длины получает, из кодированного потока 232 битов, флаг 233 временного прогнозирования векторов движения, указывающий то, должно или нет быть использовано временное прогнозирование векторов движения при взаимном прогнозировании для целевой серии последовательных макроблоков декодирования. Модуль 210 взаимного прогнозирования выполняет взаимное прогнозирование с использованием или без использования временной прогнозирующей функции вектора движения на основе этого флага.
Процесс декодирования
[0104] Далее описывается работа вышеописанного устройства 200 декодирования изображений. Фиг. 8 является блок-схемой последовательности операций способа для процесса декодирования изображений согласно этому варианту осуществления.
[0105] Во-первых, устройство 200 декодирования изображений получает параметры упорядочения списка опорных изображений из заголовка серии последовательных макроблоков (S201). Кроме того, устройство 200 декодирования изображений идентифицирует порядок опорных изображений, включенных в один или более списков опорных изображений, которые должны использоваться для взаимного прогнозирования серии последовательных макроблоков, согласно параметрам порядка списка опорных изображений. Здесь, опорное изображение в предварительно определенной позиции в определенном списке опорных изображений является совместно размещенным опорным изображением.
[0106] Затем, устройство 200 декодирования изображений получает флаг временного прогнозирования векторов движения из заголовка серии последовательных макроблоков (S202). Затем, устройство 200 декодирования изображений определяет то, указывает флаг временного прогнозирования векторов движения то, что временное прогнозирование векторов движения должно быть использовано или не должно быть использовано (S203).
[0107] Когда флаг указывает то, что временное прогнозирование векторов движения должно быть использовано ("Да" на этапе S204), устройство 200 декодирования изображений создает первый список прогнозирующих функций вектора движения, который включает в себя по меньшей мере одну временную прогнозирующую функцию вектора движения, извлекаемую из вектора движения совместно размещенного опорного изображения (S205). Затем, устройство 200 декодирования изображений получает первый параметр (флаг выбора прогнозирующей функции вектора движения) из кодированного потока 232 битов (S206). Первый параметр указывает прогнозирующую функцию вектора движения, выбранную из первого списка для целевого блока выборок декодирования, включенного в серию последовательных макроблоков.
[0108] С другой стороны, когда флаг указывает то, что временное прогнозирование векторов движения не должно быть использовано ("Нет" на этапе S204), устройство 200 декодирования изображений создает второй список прогнозирующих функций вектора движения, который не включает в себя временную прогнозирующую функцию вектора движения (S207). Затем, устройство 200 декодирования изображений получает второй параметр (флаг выбора прогнозирующей функции вектора движения) из кодированного потока 232 битов (S208). Здесь, второй параметр указывает прогнозирующую функцию вектора движения, выбранную из второго списка для целевого блока выборок декодирования, включенного в серию последовательных макроблоков.
[0109] После этапа S206 или S208 устройство 200 декодирования изображений выполняет взаимное прогнозирование с компенсацией движения с использованием прогнозирующей функции вектора движения, указываемой посредством первого параметра или второго параметра, чтобы тем самым формировать прогнозный блок выборок (прогнозированное изображение 231) (S209). Затем, устройство 200 декодирования изображений декодирует остаточный блок выборок (остаточный сигнал 225) из кодированного потока 232 битов (S210). В завершение, устройство 200 декодирования изображений суммирует прогнозный блок выборок (прогнозированное изображение 231) и остаточный блок выборок (остаточный сигнал 225), чтобы тем самым формировать восстановленный блок выборок (декодированное изображение 226), соответствующий целевому блоку декодирования (S211).
[0110] Кроме того, устройство 200 декодирования изображений согласно этому варианту осуществления получает, из кодированного потока 232 битов, первый флаг временного прогнозирования векторов движения, указывающий то, что временное прогнозирование векторов движения не должно быть использовано в первом изображении (начальном изображении). В частности, устройство 200 декодирования изображений получает, из заголовков всех серий последовательных макроблоков, включенных в первое изображение, первый флаг временного прогнозирования векторов движения, указывающий то, что временное прогнозирование векторов движения не должно быть использовано.
[0111] После этого, устройство 200 декодирования изображений кодирует первое изображение без использования временного прогнозирования векторов движения (S242). После этого, устройство 200 декодирования изображений кодирует второе изображение, которое идет после первого изображения в порядке декодирования, с запрещением обращения к вектору движения изображения, предшествующего первому изображению в порядке декодирования (S243). Следует отметить, что подробности этих процессов являются эквивалентными процессам вышеописанного устройства 100 кодирования изображений.
[0112] Здесь, этап S241 выполняется посредством модуля получения, включенного в устройство 200 декодирования изображений. Кроме того, этапы S242 и S243 выполняются посредством модуля декодирования, включенного в устройство 200 декодирования изображений. Например, модуль получения может включаться в модуль 212 декодирования переменной длины, показанный на Фиг. 7. Кроме того, основная функция модуля декодирования реализуется посредством модуля 210 взаимного прогнозирования, показанного на Фиг. 7.
Преимущество изобретения в отношении декодирования
[0113] Соответственно, устройство 200 декодирования изображений согласно этому варианту осуществления допускает декодирование кодированного потока битов, который кодируется с повышенной устойчивостью к ошибкам, гибкостью и эффективностью кодирования при взаимном прогнозировании с использованием временной прогнозирующей функции вектора движения.
[0114] Хотя выше описаны устройство кодирования изображений и устройство декодирования изображений согласно вариантам осуществления, настоящее изобретение не ограничено такими вариантами осуществления.
[0115] Кроме того, соответствующие процессоры, включенные в устройство кодирования изображений и устройство декодирования изображений согласно вышеописанным вариантам осуществления, типично реализуются в качестве LSI, которая является интегральной схемой. Эти процессоры могут быть по отдельности сконфигурированы в качестве отдельных кристаллов либо могут быть сконфигурированы так, что часть или все процессоры включаются в отдельный кристалл.
[0116] Кроме того, способ интеграции схемы не ограничивается LSI, и реализация через специализированную схему или процессор общего назначения также возможна. Также может быть использована программируемая пользователем вентильная матрица (FPGA), которая обеспечивает возможность программирования после изготовления LSI, или переконфигурируемый процессор, который обеспечивает возможность переконфигурирования соединений и настроек схемных элементов в LSI.
[0117] В соответствующих вариантах осуществления, соответствующие составляющие элементы сконфигурированы с использованием специализированных аппаратных средств, но также могут быть реализованы посредством выполнения программ, подходящих для соответствующих составляющих элементов. Соответствующие составляющие элементы могут быть реализованы посредством считывания и выполнения программы, записанной на носителе записи, таком как жесткий диск или полупроводниковое запоминающее устройство, посредством модуля выполнения программ, такого как CPU или процессор.
[0118] Помимо этого, настоящее изобретение может быть вышеуказанной программой или энергонезависимым машиночитаемым носителем записи, на котором записывается вышеуказанная программа. Кроме того, должно быть очевидным, что вышеуказанная программа может быть распределена через среду передачи, такую как Интернет.
[0119] Кроме того, все количественные данные, используемые в вышеприведенном описании, являются просто примерами для описания настоящего изобретения в конкретных условиях, и в силу этого настоящее изобретение не ограничено проиллюстрированными количественными данными.
[0120] Кроме того, разделение функциональных блоков на блок-схемах является просто примерным, и несколькие функциональных блоков могут быть реализованы как один функциональный блок, один функциональный блок может разделяться на несколько функциональные блоки, либо часть функций функционального блока может быть передана другому функциональному блоку. Кроме того, функции функциональных блоков, имеющих аналогичные функции, могут быть обработаны, параллельно или в режиме временного разделения, посредством только аппаратных средств или программного обеспечения.
[0121] Кроме того, последовательность, в которой выполняются этапы, включенные в вышеописанный способ кодирования изображений и способ декодирования изображений, предоставляется в качестве примера для того, чтобы описывать настоящее изобретение в конкретных условиях, и тем самым другие последовательности возможны. Кроме того, часть вышеописанных этапов может быть выполнена одновременно (параллельно) с другим этапом.
[0122] Хотя устройство кодирования изображений и устройство декодирования изображений согласно одному или нескольким аспектам настоящего изобретения описываются на основе вариантов осуществления, настоящее изобретение не ограничено такими вариантами осуществления. Различные модификации настоящих вариантов осуществления, которые могут быть задуманы специалистами в данной области техники, и формы, сконфигурированные посредством комбинирования составляющих элементов в различных вариантах осуществления без отступления от идей настоящего изобретения, включаются в объем одного или более аспектов настоящего изобретения.
Вариант 2 осуществления
[0123] Обработка, описанная в каждом из вариантов осуществления, может быть реализована просто в независимой компьютерной системе, посредством записи, на носителе записи, программы для реализации конфигураций способа кодирования движущихся изображений (способа кодирования изображений) и способа декодирования движущихся изображений (способа декодирования изображений), описанных в каждом из вариантов осуществления. Носители записи могут быть любыми носителями записи при условии, что программа может записываться, такими как магнитный диск, оптический диск, магнитооптический диск, IC-карта и полупроводниковое запоминающее устройство.
[0124] В дальнейшем в этом документе описываются варианты применения к способу кодирования движущихся изображений (способу кодирования изображений) и способу декодирования движущихся изображений (способу декодирования изображений), описанных в каждом из вариантов осуществления, и к системам с их использованием. Система имеет признак наличия устройства кодирования и декодирования изображений, которое включает в себя устройство кодирования изображений с использованием способа кодирования изображений и устройство декодирования изображений с использованием способа декодирования изображений. Другие конфигурации в системе могут быть изменены надлежащим образом в зависимости от случаев применения.
[0125] Фиг. 10 иллюстрирует общую конфигурацию системы ex100 предоставления контента для реализации услуг распространения контента. Область для предоставления услуг связи разделяется на соты требуемого размера, и базовые станции ex106, ex107, ex108, ex109 и ex110, которые являются стационарными беспроводными станциями, размещаются в каждой из сот.
[0126] Система ex100 предоставления контента подключается к таким устройствам, как компьютер ex111, персональное цифровое устройство (PDA) ex112, камера ex113, сотовый телефон ex114 и игровая машина ex115, через Интернет ex101, поставщика ex102 Интернет-услуг, телефонную сеть ex104, а также базовые станции ex106-ex110, соответственно.
[0127] Тем не менее, конфигурация системы ex100 предоставления контента не ограничена конфигурацией, показанной на Фиг. 10, и комбинация, в которой подключаются любые из элементов, является допустимой. Помимо этого, каждое устройство может подключаться к телефонной сети ex104 непосредственно, а не через базовые станции ex106-ex110, которые являются стационарными беспроводными станциями. Кроме того, устройства могут быть подключены друг к другу через беспроводную связь ближнего действия и т.п.
[0128] Камера ex113, такая как цифровая видеокамера, допускает захват видео. Камера ex116, такая как цифровая камера, допускает захват как неподвижных изображений, так и видео. Кроме того, сотовый телефон ex114 может быть телефоном, который удовлетворяет любому из таких стандартов, как глобальная система мобильной связи (GSM) (зарегистрированная торговая марка), множественный доступ с кодовым разделением каналов (CDMA), широкополосный множественный доступ с кодовым разделением каналов (W-CDMA), стандарт долгосрочного развития (LTE) и высокоскоростной пакетный доступ (HSPA). Альтернативно, сотовый телефон ex114 может соответствовать стандарту системы персональных мобильных телефонов (PHS).
[0129] В системе ex100 предоставления контента сервер ex103 потоковой передачи подключается к камере ex113 и т.п. через телефонную сеть ex104 и базовую станцию ex109, которая предоставляет распространение изображений трансляции в прямом эфире и т.п. При таком распределении, контент (например, видео музыкального концерта в прямом эфире), захватываемый пользователем с использованием камеры ex113, кодируется так, как описано выше в каждом из вариантов осуществления (т.е. камера выступает в качестве устройства кодирования изображений согласно аспекту настоящего изобретения), и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи выполняет потоковое распространение передаваемых данных контента в клиенты при запросах. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которые допускают декодирование вышеуказанных кодированных данных. Каждое из устройств, которое принимает распределенные данные, декодирует и воспроизводит кодированные данные (т.е. выступает в качестве устройства декодирования изображений согласно аспекту настоящего изобретения).
[0130] Захватываемые данные могут кодироваться посредством камеры ex113 или сервера ex103 потоковой передачи, который передает данные, или процессы кодирования могут быть совместно использованы камерой ex113 и сервером ex103 потоковой передачи. Аналогично, распространенные данные могут быть декодированы посредством клиентов или сервера ex103 потоковой передачи, или процессы декодирования могут быть совместно использованы клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и видео, захватываемых не только посредством камеры ex113, но также и камеры ex116, могут быть переданы на сервер ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут выполняться посредством камеры ex116, компьютера ex111 или сервера ex103 потоковой передачи или совместно использоваться ими.
[0131] Кроме того, процессы кодирования и декодирования могут выполняться посредством LSI ex500, в общем, включенной в каждый из компьютера ex111 и устройств. LSI ex500 может быть сконфигурирована из одного кристалла или множества кристаллов. Программное обеспечение для кодирования и декодирования видео может быть интегрировано в определенный тип носителя записи (такой как CD-ROM, гибкий диск и жесткий диск), который является читаемым посредством компьютера ex111 и т.п., и процессы кодирования и декодирования могут выполняться с использованием программного обеспечения. Кроме того, когда сотовый телефон ex114 содержит камеру, могут передаваться видеоданные, полученные посредством камеры. Видеоданные – это данные, кодированные посредством LSI ex500, включенной в сотовый телефон ex114.
[0132] Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распространять данные.
[0133] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, передаваемую пользователем, и воспроизводить декодированные данные в режиме реального времени в системе ex100 предоставления контента, так что пользователь, который не имеет конкретных прав и оборудования, может реализовывать персональную широковещательную передачу.
[0134] Помимо примера системы ex100 предоставления контента по меньшей мере одно из устройства кодирования движущихся изображений (устройства кодирования изображений) и устройства декодирования движущихся изображений (устройства декодирования изображений), описанных в каждом из вариантов осуществления, может быть реализовано в цифровой широковещательной системе ex200, проиллюстрированной на Фиг. 11. Более конкретно, широковещательная станция ex201 сообщает или передает по радиоволнам в широковещательный спутник ex202 мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и т.п. в видеоданные. Видеоданные являются данными, кодированными посредством способа кодирования движущихся изображений, описанного в каждом из вариантов осуществления (т.е. данными, кодированными посредством устройства кодирования изображений согласно аспекту настоящего изобретения). При приеме мультиплексированных видеоданных широковещательный спутник ex202 передает радиоволны для широковещательной передачи. Затем, антенна ex204 для домашнего применения с функцией приема спутниковой широковещательной передачи принимает радиоволны. Далее такое устройство, как телевизионный приемник (приемное устройство) ex300 и абонентская приставка (STB) ex217, декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (т.е. выступает в качестве устройства декодирования изображений согласно аспекту настоящего изобретения).
[0135] Кроме того, модуль ex218 считывания/записи (i) считывает и декодирует мультиплексированные данные, записанные на носителе ex215 записи, таком как DVD и BD, или (i) кодирует видеосигналы на носителе ex215 записи, и в некоторых случаях записывает данные, полученные посредством мультиплексирования аудиосигнала, в кодированные данные. Модуль ex218 считывания/записи может включать в себя устройство декодирования движущихся изображений или устройство кодирования движущихся изображений, как показано в каждом из вариантов осуществления. В этом случае, воспроизведенные видеосигналы отображаются на мониторе ex219 и могут быть воспроизведены посредством другого устройства или системы с использованием носителя ex215 записи, на котором записываются мультиплексированные данные. Также можно реализовывать устройство декодирования движущихся изображений в абонентской приставке ex217, подключенной к кабелю ex203 для кабельного телевидения или к антенне ex204 для спутниковой и/или наземной широковещательной передачи, с тем чтобы отображать видеосигналы на мониторе ex219 телевизионного приемника ex300. Устройство декодирования движущихся изображений может быть реализовано не в абонентской приставке, а в телевизионном приемнике ex300.
[0136] Фиг. 12 иллюстрирует телевизионный приемник (приемное устройство) ex300, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в каждом из вариантов осуществления. Телевизионный приемник ex300 включает в себя: тюнер ex301, который получает или предоставляет мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные, через антенну ex204 или кабель ex203 и т.д., который принимает широковещательную передачу; модуль ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые должны подаваться наружу; и модуль ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, кодированные посредством процессора ex306 сигналов, в данные.
[0137] Телевизионный приемник ex300 дополнительно включает в себя: процессор ex306 сигналов, включающий в себя процессор ex304 аудиосигналов и процессор ex305 видеосигналов, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные, соответственно (которые выступают в качестве устройства кодирования изображений и устройства декодирования изображений согласно аспектам настоящего изобретения); и модуль ex309 вывода, включающий в себя динамик ex307, который предоставляет декодированный аудиосигнал, и модуль ex308 отображения, который отображает декодированный видеосигнал, такой как дисплей. Кроме того, телевизионный приемник ex300 включает в себя интерфейсный модуль ex317, включающий в себя модуль ex312 функционального ввода, который принимает ввод пользовательской операции. Кроме того, телевизионный приемник ex300 включает в себя модуль ex310 управления, который осуществляет общее управление каждым составляющим элементом телевизионного приемника ex300, и модуль ex311 схемы электропитания, который предоставляет питание в каждый из элементов. Кроме модуля ex312 функционального ввода, интерфейсный модуль ex317 может включать в себя: мост ex313, который подключается к внешнему устройству, такому как модуль ex218 считывания/записи; модуль ex314 гнезда для предоставления возможности присоединения носителя ex216 записи, такого как SD-карта; драйвер ex315, чтобы подключаться к внешнему носителю записи, такому как жесткий диск; и модем ex316, чтобы подключаться к телефонной сети. Здесь, носитель ex216 записи может электрически записывать информацию с использованием элемента энергонезависимого/энергозависимого полупроводникового запоминающего устройства для хранения. Составляющие элементы телевизионного приемника ex300 подключены друг к другу через синхронную шину.
[0138] Во-первых, описывается конфигурация, в которой телевизионный приемник ex300 декодирует мультиплексированные данные, полученные снаружи через антенну ex204 и т.п., и воспроизводит декодированные данные. В телевизионном приемнике ex300, при пользовательской операции через удаленный контроллер ex220 и т.п., модуль ex303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные посредством модуля ex302 модуляции/демодуляции, под управлением модуля ex310 управления, включающего в себя CPU. Кроме того, процессор ex304 аудиосигналов декодирует демультиплексированные аудиоданные, и процессор ex305 видеосигналов декодирует демультиплексированные видеоданные с использованием способа декодирования, описанного в каждом из вариантов осуществления, в телевизионном приемнике ex300. Модуль ex309 вывода предоставляет декодированный видеосигнал и аудиосигнал наружу, соответственно. Когда модуль ex309 вывода предоставляет видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ex318 и ex319 и т.п. так, что сигналы воспроизводятся синхронно друг с другом. Кроме того, телевизионный приемник ex300 может считывать мультиплексированные данные не через широковещательную передачу и т.п., а из носителей ex215 и ex216 записи, таких как магнитный диск, оптический диск и SD-карта. Затем описывается конфигурация, в которой телевизионный приемник ex300 кодирует аудиосигнал и видеосигнал и передает данные наружу или записывает данные на носитель записи. В телевизионном приемнике ex300, при пользовательской операции через удаленный контроллер ex220 и т.п., процессор ex304 аудиосигналов кодирует аудиосигнал, и процессор ex305 видеосигналов кодирует видеосигнал под управлением модуля ex310 управления с использованием способа кодирования, как описано в каждом из вариантов осуществления. Модуль ex303 мультиплексирования/демультиплексирования мультиплексирует кодированный видеосигнал и аудиосигнал и предоставляет результирующий сигнал наружу. Когда модуль ex303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ex320 и ex321 и т.п. так, что сигналы воспроизводятся синхронно друг с другом. Здесь, буферов ex318, ex319, ex320 и ex321 может быть множество, как проиллюстрировано, или по меньшей мере один буфер может быть совместно использован в телевизионном приемнике ex300. Кроме того, данные могут быть сохранены в буфере, так что может не допускаться переполнение и опустошение в системе, например, между модулем ex302 модуляции/демодуляции и модулем ex303 мультиплексирования/демультиплексирования.
[0139] Кроме того, телевизионный приемник ex300 может включать в себя конфигурацию для приема AV-ввода из микрофона или камеры, отличную от конфигурации для получения аудио- и видеоданных из широковещательной передачи или носителя записи, и может кодировать полученные данные. Хотя телевизионный приемник ex300 может кодировать, мультиплексировать и предоставлять наружу данные в описании, он может допускать только прием, декодирование и предоставление наружу данных, а не кодирование, мультиплексирование и предоставление наружу данных.
[0140] Кроме того, когда модуль ex218 считывания/записи считывает или записывает мультиплексированные данные с или на носитель записи, один из телевизионного приемника ex300 и модуля ex218 считывания/записи может декодировать или кодировать мультиплексированные данные, и телевизионный приемник ex300 и модуль ex218 считывания/записи могут совместно использовать декодирование или кодирование.
[0141] В качестве примера, Фиг. 13 иллюстрирует конфигурацию модуля ex400 воспроизведения/записи информации, когда данные считываются или записываются с или на оптический диск. Модуль ex400 воспроизведения/записи информации включает в себя составляющие элементы ex401, ex402, ex403, ex404, ex405, ex406 и ex407, которые описаны ниже. Оптическая головка ex401 испускает лазерное пятно на поверхности для записи носителя ex215 записи, который является оптическим диском, чтобы записывать информацию, и обнаруживает отраженный свет от поверхности для записи носителя ex215 записи, чтобы считывать информацию. Модуль ex402 модуляционной записи электрически возбуждает полупроводниковый лазер, включенный в оптическую головку ex401, и модулирует лазерное излучение согласно записанным данным. Модуль ex403 воспроизводящей демодуляции усиливает сигнал воспроизведения, полученный посредством электрического обнаружения отраженного света от поверхности для записи, с использованием фотодетектора, включенного в оптическую головку ex401, и демодулирует сигнал воспроизведения посредством разделения компонента сигнала, записанного на носитель ex215 записи, чтобы воспроизводить необходимую информацию. Буфер ex404 временно хранит информацию, которая должна записываться на носитель ex215 записи, и информацию, воспроизведенную из носителя ex215 записи. Дисковый электромотор ex405 вращает носитель ex215 записи. Модуль ex406 сервоуправления перемещает оптическую головку ex401 в заранее определенную информационную дорожку при одновременном управлении вращательным приводом дискового электромотора ex405, чтобы следовать лазерному пятну. Модуль ex407 управления системой осуществляет общее управление модулем ex400 воспроизведения/записи информации. Процессы считывания и записи могут реализовываться посредством модуля ex407 управления системой с использованием различной информации, хранимой в буфере ex404, и формирования и добавления новой информации по мере необходимости, и посредством модуля ex402 модуляционной записи, модуля ex403 демодуляции при воспроизведении и модуля ex406 сервоуправления, которые записывают и воспроизводят информацию через оптическую головку ex401 при координированном управлении. Модуль ex407 управления системой включает в себя, например, микропроцессор и выполняет обработку посредством инструктирования компьютеру выполнять программу для считывания и записи.
[0142] Хотя в описании оптическая головка ex401 испускает лазерное пятно, она может выполнять запись с высокой плотностью с использованием света в поле в ближней зоне.
[0143] Фиг. 14 иллюстрирует носитель ex215 записи, который является оптическим диском. На поверхности для записи носителя ex215 записи, направляющие канавки формируются по спирали, и информационная дорожка ex230 записывает, заранее, информацию адреса, указывающую абсолютную позицию на диске, согласно изменению в форме направляющих канавок. Информация адреса включает в себя информацию для определения позиций блоков ex231 записи, которые являются единицей для записи данных. Воспроизведение информационной дорожки ex230 и считывание информации адреса в устройстве, которое записывает и воспроизводит данные, может приводить к определению позиций блоков записи. Кроме того, носитель ex215 записи включает в себя зону ex233 записи данных, зону ex232 внутренней окружности и зону ex234 внешней окружности. Зона ex233 записи данных является зоной для использования при записи пользовательских данных. Зона ex232 внутренней окружности и зона ex234 внешней окружности, которые находятся внутри и снаружи зоны ex233 записи данных, соответственно, предназначены для конкретного применения, за исключением записи пользовательских данных. Модуль 400 воспроизведения/записи информации считывает и записывает кодированное аудио, кодированные видеоданные или мультиплексированные данные, полученные посредством мультиплексирования кодированного аудио и кодированных видеоданных, из и в зону ex233 записи данных носителя ex215 записи.
[0144] Хотя оптический диск, имеющий слой, такой как DVD и BD, описывается в качестве примера в описании, оптический диск не ограничен таким образом и может быть оптическим диском, имеющим многослойную структуру и допускающим запись на часть, отличную от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, к примеру, записи информации с использованием света цветов с различными длинами волн в одной части оптического диска и для записи информации, имеющей различные слои, с различных углов.
[0145] Кроме того, автомобиль ex210, имеющий антенну ex205, может принимать данные из спутника ex202 и т.п. и воспроизводить видео на устройстве отображения, таком как автомобильная навигационная система ex211, установленная в автомобиле ex210, в цифровой широковещательной системе ex200. Здесь, конфигурация автомобильной навигационной системы ex211 является конфигурацией, например, включающей в себя приемный GPS-модуль, из конфигурации, проиллюстрированной на Фиг. 12. То же применимо для конфигурации компьютера ex111, сотового телефона ex114 и т.п.
[0146] Фиг. 15A иллюстрирует сотовый телефон ex114, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в вариантах осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; модуль ex365 камеры, допускающий захват движущихся и неподвижных изображений; и модуль ex358 отображения, к примеру жидкокристаллический дисплей для отображения данных, таких как декодированное видео, захватываемое посредством модуля ex365 камеры или принимаемое посредством антенны ex350. Сотовый телефон ex114 дополнительно включает в себя: модуль основного корпуса, включающий в себя модуль ex366 функциональных клавиш; модуль ex357 аудиовывода, к примеру, динамик для вывода аудио; модуль ex356 аудиоввода, к примеру, микрофон для ввода аудио; запоминающее устройство ex367 для сохранения захваченного видео или неподвижных изображений, записанного аудио, кодированных или декодированных данных принимаемого видео, неподвижных изображений, почтовых сообщений и т.п.; и модуль ex364 гнезда, который является интерфейсным модулем для носителя записи, который сохраняет данные таким же образом, как запоминающее устройство ex367.
[0147] Далее описывается пример конфигурации сотового телефона ex114 со ссылкой на Фиг. 15B. В сотовом телефоне ex114 главный модуль ex360 управления, спроектированный с возможностью полностью управлять каждым модулем основного корпуса, включающим в себя модуль ex358 отображения, а также модуль ex366 функциональных клавиш, взаимно соединяется, через синхронную шину ex370, с модулем ex361 схемы электропитания, модулем ex362 управления функциональным вводом, процессором ex355 видеосигналов, модулем ex363 интерфейса камеры, модулем ex359 управления жидкокристаллическим дисплеем (ЖК-дисплеем), модулем ex352 модуляции/демодуляции, модулем ex353 мультиплексирования/демультиплексирования, процессором ex354 аудиосигналов, модулем ex364 гнезда и запоминающим устройством ex367.
[0148] Когда клавиша завершения вызова или клавиша включения питания включается посредством пользовательской операции, модуль ex361 схемы электропитания предоставляет в соответствующие модули питание из аккумуляторной батареи с тем, чтобы активировать сотовый телефон ex114.
[0149] В сотовом телефоне ex114 процессор ex354 аудиосигналов преобразует аудиосигналы, собираемые посредством модуля ex356 аудиоввода в режиме речевой связи, в цифровые аудиосигналы под управлением главного модуля ex360 управления, включающего в себя CPU, ROM и RAM. Затем, модуль ex352 модуляции/демодуляции выполняет обработку с расширенным спектром для цифровых аудиосигналов, и приемо-передающий модуль ex351 выполняет цифроаналоговое преобразование и преобразование частоты для данных, с тем чтобы передавать результирующие данные через антенну ex350. Так же, в сотовом телефоне ex114, приемо-передающий модуль ex351 усиливает данные, принимаемые посредством антенны ex350 в режиме речевой связи, и выполняет преобразование частоты и аналого-цифровое преобразование для данных. Затем, модуль ex352 модуляции/демодуляции выполняет обработку с обратным расширенным спектром для данных, и процессор ex354 аудиосигналов преобразует их в аналоговые аудиосигналы, с тем чтобы выводить их через модуль ex357 аудиовывода.
[0150] Кроме того, когда передается электронная почта в режиме передачи данных, текстовые данные электронной почты, введенные посредством операций с модулем ex366 функциональных клавиш и т.п. основного корпуса, отправляются в главный модуль ex360 управления через модуль ex362 управления функциональным вводом. Главный модуль ex360 управления инструктирует модулю ex352 модуляции/демодуляции выполнять обработку с расширенным спектром для текстовых данных, и приемо-передающий модуль ex351 выполняет цифроаналоговое преобразование и преобразование частоты для результирующих данных, чтобы передавать данные в базовую станцию ex110 через антенну ex350. Когда принимается почтовое сообщение, обработка, которая является приблизительно обратной относительно обработки для передачи почтового сообщения, выполняется для принимаемых данных, и результирующие данные предоставляются в модуль ex358 отображения.
[0151] Когда передается видео, неподвижные изображения либо видео и аудио в режиме передачи данных, процессор ex355 видеосигналов сжимает и кодирует видеосигналы, предоставляемые из модуля ex365 камеры, с использованием способа кодирования движущихся изображений, показанного в каждом из вариантов осуществления (т.е. выступает в качестве устройства кодирования изображений согласно аспекту настоящего изобретения), и передает кодированные видеоданные в модуль ex353 мультиплексирования/демультиплексирования. Напротив, в течение времени, когда модуль ex365 камеры захватывает видео, неподвижные изображения и т.п., процессор ex354 аудиосигналов кодирует аудиосигналы, собранные посредством модуля ex356 аудиоввода, и передает кодированные аудиоданные в модуль ex353 мультиплексирования/демультиплексирования.
[0152] Модуль ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, подаваемые из процессора ex355 видеосигналов, и кодированные аудиоданные, подаваемые из процессора ex354 аудиосигналов, с использованием предварительно определенного способа. Затем, модуль ex352 модуляции/демодуляции (модуль схемы модуляции/демодуляции) выполняет обработку с расширенным спектром для мультиплексированных данных, и приемо-передающий модуль ex351 выполняет цифроаналоговое преобразование и преобразование частоты для данных с тем, чтобы передавать результирующие данные через антенну ex350.
[0153] При приеме данных видеофайла, который связывается с веб-страницей и т.п., в режиме передачи данных или при приеме почтового сообщения с присоединенным видео и/или аудио, чтобы декодировать мультиплексированные данные, принятые через антенну ex350, модуль ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в поток битов видеоданных и поток битов аудиоданных и предоставляет в процессор ex355 видеосигналов кодированные видеоданные, а в процессор ex354 аудиосигналов кодированные аудиоданные через синхронную шину ex370. Процессор ex355 видеосигналов декодирует видеосигнал с использованием способа декодирования движущихся изображений, соответствующего способу кодирования движущихся изображений, показанному в каждом из вариантов осуществления (т.е. выступает в качестве устройства декодирования изображений согласно аспекту настоящего изобретения), и затем модуль ex358 отображения отображает, например, видеоизображения и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей, через модуль ex359 управления ЖК-дисплеем. Кроме того, процессор ex354 аудиосигналов декодирует аудиосигнал, и модуль ex357 аудиовывода предоставляет аудио.
[0154] Кроме того, аналогично телевизионному приемнику ex300, терминал, такой как сотовый телефон ex114, вероятно, имеет 3 типа реализованных конфигураций, включающих в себя не только (i) приемо-передающий терминал, включающий в себя как устройство кодирования, так и устройство декодирования, но также и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя в описании цифровая широковещательная система ex200 принимает и передает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные в описании, мультиплексированные данные могут быть данными, полученными посредством мультиплексирования не аудиоданных, а символьных данных, связанных с видео, в видеоданные, и могут быть не мультиплексированными данными, а самими видеоданными.
[0155] По сути, способ кодирования движущихся изображений и способ декодирования движущихся изображений в каждом из вариантов осуществления могут использоваться в любых из описанных устройств и систем. Таким образом, могут быть получены преимущества, описанные в каждом из вариантов осуществления.
[0156] Кроме того, настоящее изобретение не ограничено вариантами осуществления, и возможны различные модификации и исправления без отступления от объема настоящего изобретения.
Вариант 3 осуществления
[0157] Видеоданные могут быть сформированы посредством переключения, по мере необходимости, между (i) способом кодирования движущихся изображений или устройством кодирования движущихся изображений, показанными в каждом из вариантов осуществления, и (ii) способом кодирования движущихся изображений или устройством кодирования движущихся изображений в соответствии с другим стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1.
[0158] Здесь, когда множество видеоданных, которые соответствуют различным стандартам, формируется и затем декодируется, способы декодирования должны быть выбраны таким образом, что они соответствуют различным стандартам. Тем не менее, поскольку не может быть обнаружен стандарт, которому соответствуют каждые из множества из видеоданных, которые должны быть декодированы, имеется проблема в том, что не может быть выбран надлежащий способ декодирования.
[0159] Чтобы разрешать проблему, мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и т.п. в видеоданные, имеют структуру, включающую в себя идентификационную информацию, указывающую то, какому стандарту соответствуют видеоданные. Далее описывается конкретная структура мультиплексированных данных, включающих в себя видеоданные, сформированные в способе кодирования движущихся изображений и посредством устройства кодирования движущихся изображений, показанных в каждом из вариантов осуществления. Мультиплексированные данные являются цифровым потоком в формате транспортных потоков MPEG-2.
[0160] Фиг. 16 иллюстрирует структуру мультиплексированных данных. Как проиллюстрировано на Фиг. 16, мультиплексированные данные могут быть получены посредством мультиплексирования по меньшей мере одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео фильма, аудиопоток (IG) представляет часть первичного аудио и часть вторичного аудио, которая должна смешиваться с частью первичного аудио, а поток презентационной графики представляет субтитры фильма. Здесь, первичное видео является обычным видео, которое должно отображаться на экране, а вторичное видео является видео, которое должно отображаться в меньшем окне в первичном видео. Кроме того, поток интерактивной графики представляет интерактивный экран, который должен быть сформирован посредством размещения GUI-компонентов на экране. Видеопоток кодируется в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений, показанных в каждом из вариантов осуществления, либо в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений в соответствии с традиционным стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1. Аудиопоток кодируется в соответствии с таким стандартом, как AC-3 Dolby, Dolby Digital Plus, MLP, DTS, DTS-HD и линейная PCM.
[0161] Каждый поток, включенный в мультиплексированные данные, идентифицируется посредством PID. Например, 0x1011 выделяется видеопотоку, который должен быть использован для видео фильма, 0x1100-0x111F выделяются аудиопотокам, 0x1200-0x121F выделяются потокам презентационной графики, 0x1400-0x141F выделяются потокам интерактивной графики, 0x1B00-0x1B1F выделяются видеопотокам, которые должны быть использованы для вторичного видео фильма, и 0x1A00-0x1A1F выделяются аудиопотокам, которые должны быть использованы для вторичного аудио, которое должно смешиваться с первичным аудио.
[0162] Фиг. 17 схематично иллюстрирует то, как мультиплексируются данные. Во-первых, видеопоток ex235, состоящий из видеокадров, и аудиопоток ex238, состоящий из аудиокадров, преобразуются в поток PES-пакетов ex236 и поток PES-пакетов ex239 и дополнительно в TS-пакеты ex237 и TS-пакеты ex240, соответственно. Аналогично, данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразуются в поток PES-пакетов ex242 и поток PES-пакетов ex245 и дополнительно в TS-пакеты ex243 и TS-пакеты ex246, соответственно. Эти TS-пакеты мультиплексируются в поток, чтобы получать мультиплексированные данные ex247.
[0163] Фиг. 18 иллюстрирует то, как видеопоток сохраняется в потоке PES-пакетов. Первая панель на Фиг. 18 показывает поток видеокадров в видеопотоке. Вторая панель показывает поток PES-пакетов. Как указано посредством стрелок, обозначенных как yy1, yy2, yy3 и yy4 на Фиг. 18, видеопоток разделяется на изображения, такие как I-изображения, B-изображения и P-изображения, каждое из которых является единицей видеопредставления, и изображения сохраняются в рабочих данных каждого из PES-пакетов. Каждый из PES-пакетов имеет PES-заголовок, и PES-заголовок сохраняет временную метку представления (PTS), указывающую время отображения изображения, и временную метку декодирования (DTS), указывающую время декодирования изображения.
[0164] Фиг. 19 иллюстрирует формат TS-пакетов, которые должны быть в итоге записаны в мультиплексированные данные. Каждый из TS-пакетов является 188-байтовым пакетом фиксированной длины, включающим в себя 4-байтовый TS-заголовок, имеющий такую информацию, как PID для идентификации потока, и 184-байтовые рабочие TS-данные для сохранения данных. PES-пакеты разделяются и сохраняются в рабочих данных TS, соответственно. Когда используется BD-ROM, каждому из TS-пакетов присваивается 4-байтовый TP_Extra_Header, тем самым приводя к 192-байтовым исходным пакетам. Исходные пакеты записываются в мультиплексированные данные. TP_Extra_Header хранит такую информацию, как Arrival_Time_Stamp (ATS). ATS показывает время начала передачи, в которое каждый из TS-пакетов должен быть передан в PID-фильтр. Исходные пакеты размещаются в мультиплексированных данных, как показано в нижней части Фиг. 19. Номера, увеличивающиеся с заголовка мультиплексированных данных, называются номерами исходных пакетов (SPN).
[0165] Каждый из TS-пакетов, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитров и т.п., но также и таблицу ассоциаций программ (PAT), таблицу структуры программ (PMT) и временную отметку программ (PCR). PAT показывает то, что указывает PID в PMT, используемой в мультиплексированных данных, и PID самого PAT регистрируется как нуль. PMT сохраняет PID потоков видео, аудио, субтитров и т.п., включенных в мультиплексированные данные, и информацию атрибутов потоков, соответствующих PID. PMT также имеет различные дескрипторы, связанные с мультиплексированными данными. Дескрипторы имеют такую информацию, как информация управления копированием, показывающая то, разрешено или нет копирование мультиплексированных данных. PCR сохраняет информацию STC-времени, соответствующую ATS, показывающей, когда PCR-пакет передается в декодер, чтобы достигать синхронизации между таймером поступления (ATC), т.е. временной осью ATS, и системным таймером (STC), т.е. временной осью PTS и DTS.
[0166] Фиг. 20 подробно поясняет структуру данных PMT. PMT-заголовок располагается в верхней части PMT. PMT-заголовок описывает длину данных, включенных в PMT, и т.п. Множество дескрипторов, связанных с мультиплексированными данными, располагается после PMT-заголовка. Информация, такая как информация управления копированием, описывается в дескрипторах. После дескрипторов располагается множество фрагментов информации потока, связанных с потоками, включенными в мультиплексированные данные. Каждый фрагмент информации потока включает в себя дескрипторы потоков, каждый из которых описывает такую информацию, как тип потока для идентификации кодека сжатия потока, PID потока и информация атрибутов потока (такая как частота кадров или соотношение сторон). Дескрипторы потоков по числу равны числу потоков в мультиплексированных данных.
[0167] Когда мультиплексированные данные записываются на носителе записи и т.д., они записываются вместе с файлами информации мультиплексированных данных.
[0168] Каждый из файлов информации мультиплексированных данных является управляющей информацией мультиплексированных данных, как показано на Фиг. 21. Файлы информации мультиплексированных данных находятся в соответствии "один-к-одному" с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту вхождений.
[0169] Как проиллюстрировано на Фиг. 21, информация мультиплексированных данных включает в себя системную скорость, время начала воспроизведения и время завершения воспроизведения. Системная скорость указывает максимальную скорость передачи, на которой декодер системных целевых объектов, который должен быть описан ниже, передает мультиплексированные данные в PID-фильтр. Интервалы ATS, включенных в мультиплексированные данные, задаются не больше системной скорости. Время начала воспроизведения указывает PTS в видеокадре в заголовке мультиплексированных данных. Интервал одного кадра добавляется к PTS в видеокадре в конце мультиплексированных данных, и PTS задается равным времени завершения воспроизведения.
[0170] Как показано на Фиг. 22, фрагмент информации атрибутов регистрируется в информации атрибутов потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждый фрагмент информации атрибутов имеет различную информацию в зависимости от того, является соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждый фрагмент информации атрибутов видеопотока переносит информацию, включающую в себя то, какой кодек сжатия используется для сжатия видеопотока, а также разрешение, соотношение сторон и частоту кадров фрагментов данных изображений, которые включаются в видеопоток. Каждый фрагмент информации атрибутов аудиопотока переносит информацию, включающую в себя то, какой кодек сжатия используется для сжатия аудиопотока, сколько каналов включается в аудиопоток, какой язык поддерживает аудиопоток, и насколько высокой является частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера до того, как проигрыватель воспроизводит информацию.
[0171] В настоящем варианте осуществления мультиплексированные данные, которые должны быть использованы, имеют тип потока, включенный в PMT. Кроме того, когда мультиплексированные данные записываются на носителе записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. Более конкретно, способ кодирования движущихся изображений или устройство кодирования движущихся изображений, описанные в каждом из вариантов осуществления, включают в себя этап или модуль для выделения уникальных видеоданных, указывающих информацию, сформированную посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений в каждом из вариантов осуществления, для типа потока, включенного в PMT, или информации атрибутов видеопотока. При этой конфигурации, видеоданные, сформированные посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, могут отличаться от видеоданных, которые соответствуют другому стандарту.
[0172] Кроме того, Фиг. 23 иллюстрирует этапы способа декодирования движущихся изображений согласно настоящему варианту осуществления. На этапе exS100, тип потока, включенный в PMT или информацию атрибутов видеопотока, включенную в информацию мультиплексированных данных, получается из мультиплексированных данных. Затем, на этапе exS101, определяется то, указывает или нет тип потока либо информация атрибутов видеопотока то, что мультиплексированные данные формируются посредством способа кодирования видео или устройства кодирования видео в каждом из вариантов осуществления. Когда определяется то, что тип потока или информация атрибутов видеопотока указывают то, что мультиплексированные данные формируются посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений в каждом из вариантов осуществления, на этапе exS102, декодирование выполняется посредством способа декодирования движущихся изображений в каждом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывает соответствие традиционным стандартам, таким как MPEG-2, MPEG-4 AVC и VC-1, на этапе exS103, декодирование выполняется посредством способа декодирования движущихся изображений в соответствии с традиционными стандартами.
[0173] Также, выделение нового уникального значения для типа потока или информации атрибутов видеопотока обеспечивает определение того, могут или нет выполнять декодирование способ декодирования движущихся изображений или устройство декодирования движущихся изображений, которые описываются в каждом из вариантов осуществления. Даже когда вводятся мультиплексированные данные, которые соответствуют различному стандарту, может быть выбран надлежащий способ или устройство декодирования. Таким образом, появляется возможность декодировать информацию без ошибок. Кроме того, способ или устройство кодирования движущихся изображений либо способ или устройство декодирования движущихся изображений в настоящем варианте осуществления могут быть использованы в устройствах и системах, описанных выше.
Вариант 4 осуществления
[0174] Каждый из способа кодирования движущихся изображений, устройства кодирования движущихся изображений, способа декодирования движущихся изображений и устройства декодирования движущихся изображений в каждом из вариантов осуществления типично осуществляется в форме интегральной схемы или большой интегральной (LSI) схемы. В качестве примера LSI, Фиг. 24 иллюстрирует конфигурацию LSI ex500, которая состоит из одного кристалла. LSI ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые будут описаны ниже, и элементы соединяются друг с другом через шину ex510. Модуль ex505 схемы электропитания активируется посредством предоставления в каждый из элементов питания, когда модуль ex505 схемы электропитания включается.
[0175] Например, когда выполняется кодирование, LSI ex500 принимает AV-сигнал из микрофона ex117, камеры ex113 и т.п. через AV-ввод/вывод ex509 под управлением модуля ex501 управления, включающего в себя CPU ex502, контроллер ex503 запоминающего устройства, потоковый контроллер ex504 и модуль ex512 управления частотой возбуждения. Принимаемый AV-сигнал временно сохраняется во внешнем запоминающем устройстве ex511, к примеру, SDRAM. Под управлением модуля ex501 управления, сохраненные данные сегментируются на части данных согласно объему и скорости обработки так, что они передаются в процессор ex507 сигналов. Затем, процессор ex507 сигналов кодирует аудиосигнал и/или видеосигнал. Здесь, кодирование видеосигнала является кодированием, описанным в каждом из вариантов осуществления. Кроме того, процессор ex507 сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и потоковый ввод-вывод ex506 предоставляет мультиплексированные данные наружу. Предоставляемый поток битов передается в базовую станцию ex107 или записывается на носителе ex215 записи. Когда наборы данных мультиплексируются, данные должны временно сохраняться в буфере ex508 так, что наборы данных являются синхронизированными друг с другом.
[0176] Хотя запоминающее устройство ex511 является элементом за пределами LSI ex500, оно может быть включено в LSI ex500. Буфер ex508 не ограничен одним буфером, а может состоять из буферов. Кроме того, LSI ex500 может состоять из одного кристалла или множества кристаллов.
[0177] Кроме того, хотя модуль ex501 управления включает в себя CPU ex502, контроллер ex503 запоминающего устройства, потоковый контроллер ex504, модуль ex512 управления частотой возбуждения, конфигурация модуля ex501 управления не ограничена этой. Например, процессор ex507 сигналов дополнительно может включать в себя CPU. Включение другого CPU в процессор ex507 сигналов может повышать скорость обработки. Кроме того, в качестве другого примера, CPU ex502 может выступать в качестве или быть частью процессора ex507 сигналов и, например, может включать в себя процессор аудиосигналов. В таком случае, модуль ex501 управления включает в себя процессор ex507 сигналов или CPU ex502, включающий в себя часть процессора ex507 сигналов.
[0178] Используемым здесь названием является LSI, но она также может называться IC, системной LSI, супер-LSI или ультра-LSI в зависимости от степени интеграции.
[0179] Кроме того, способы достигать интеграции не ограничены LSI, и специальная схема или процессор общего назначения и т.д. также позволяет достигать интеграции. Программируемая пользователем вентильная матрица (FPGA), которая может программироваться после изготовления LSI, или реконфигурируемый процессор, который дает возможность переконфигурирования подключения или конфигурации LSI, может использоваться для аналогичной цели.
[0180] В будущем, с развитием полупроводниковых технологий совершенно новая технология может заменять LSI. Функциональные блоки могут быть интегрированы с использованием этой технологии. Имеется возможность того, что настоящее изобретение применимо к биотехнологии.
Вариант 5 осуществления
[0181] Когда декодируются видеоданные, сформированные в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, по сравнению с тем, когда декодируются видеоданные, которые соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, объем обработки, вероятно, возрастает. Таким образом, LSI ex500 должна задаваться на частоте возбуждения, превышающей частоту CPU ex502, которая должна быть использована, когда видеоданные декодируются в соответствии с традиционным стандартом. Тем не менее, когда частота возбуждения задается большей, имеется проблема в том, что возрастает энергопотребление.
[0182] Чтобы разрешать проблему, устройство декодирования движущихся изображений, такое как телевизионный приемник ex300 и LSI ex500, выполнено с возможностью определять то, какому стандарту соответствуют видеоданные, и переключаться между частотами возбуждения согласно определенному стандарту. Фиг. 25 иллюстрирует конфигурацию ex800 в настоящем варианте осуществления. Модуль ex803 переключения частоты возбуждения задает частоту возбуждения равной высокой частоте возбуждения, когда видеоданные формируются посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления. Затем, модуль ex803 переключения частоты возбуждения инструктирует процессору ex801 декодирования, который осуществляет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, декодировать видеоданные. Когда видеоданные соответствуют традиционному стандарту, модуль ex803 переключения частоты возбуждения задает частоту возбуждения равной меньшей частоте возбуждения, чем частота возбуждения видеоданных, сформированных посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления. Затем, модуль ex803 переключения частоты возбуждения инструктирует процессору ex802 декодирования, который соответствует традиционному стандарту, декодировать видеоданные.
[0183] Более конкретно, модуль ex803 переключения частоты возбуждения включает в себя CPU ex502 и модуль ex512 управления частотой возбуждения на Фиг. 24. Здесь, каждый из процессора ex801 декодирования, который осуществляет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и процессора ex802 декодирования, который соответствует традиционному стандарту, соответствует процессору ex507 сигналов на Фиг. 24. CPU ex502 определяет то, какому стандарту соответствуют видеоданные. Затем, модуль ex512 управления частотой возбуждения определяет частоту возбуждения на основе сигнала из CPU ex502. Кроме того, процессор ex507 сигналов декодирует видеоданные на основе сигнала из CPU ex502. Например, идентификационная информация, описанная в варианте 3 осуществления, вероятно, используется для идентификации видеоданных. Идентификационная информация не ограничена идентификационной информацией, описанной в варианте 6 осуществления, а может быть любой информацией при условии, что информация указывает то, какому стандарту соответствуют видеоданные. Например, когда то, какому стандарту соответствуют стандартные видеоданные, может быть определено на основе внешнего сигнала для определения того, что видеоданные используются для телевизионного приемника или диска и т.д., определение может выполняться на основе такого внешнего сигнала. Кроме того, CPU ex502 выбирает частоту возбуждения на основе, например, таблицы поиска, в которой стандарты видеоданных ассоциированы с частотами возбуждения, как показано на Фиг. 27. Частота возбуждения может быть выбрана посредством сохранения таблицы поиска в буфере ex508 и внутреннем запоминающем устройстве LSI и при обращении к таблице поиска посредством CPU ex502.
[0184] Фиг. 26 иллюстрирует этапы для осуществления способа в настоящем варианте осуществления. Во-первых, на этапе exS200, процессор ex507 сигналов получает идентификационную информацию из мультиплексированных данных. Затем, на этапе exS201, CPU ex502 определяет на основе идентификационной информации то, формируются или нет видеоданные посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления. Когда видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, на этапе exS202, CPU ex502 передает сигнал для задания частоты возбуждения равной большей частоте возбуждения в модуль ex512 управления частотой возбуждения. Затем, модуль ex512 управления частотой возбуждения задает частоту возбуждения равной большей частоте возбуждения. С другой стороны, когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, на этапе exS203, CPU ex502 передает сигнал для задания частоты возбуждения равной меньшей частоте возбуждения в модуль ex512 управления частотой возбуждения. Затем, модуль ex512 управления частотой возбуждения задает частоту возбуждения равной меньшей частоте возбуждения, чем частота возбуждения в случае, если видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления.
[0185] Кроме того, наряду с переключением частот возбуждения, энергосберегающий эффект может быть повышен посредством изменения напряжения, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500. Например, когда частота возбуждения задается меньшей, напряжение, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, задается равным напряжению, меньшему напряжения в случае, если частота возбуждения задается большей.
[0186] Кроме того, когда объем обработки для декодирования больше, частота возбуждения может задаваться большей, а когда объем обработки для декодирования меньше, частота возбуждения может задаваться меньшей в качестве способа для задания частоты возбуждения. Таким образом, способ задания не ограничен способами, описанными выше. Например, когда объем обработки для декодирования видеоданных в соответствии с MPEG-4 AVC превышает объем обработки для декодирования видеоданных, сформированных посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, частота возбуждения, вероятно, задается в обратном порядке относительно задания, описанного выше.
[0187] Кроме того, способ для задания частоты возбуждения не ограничен способом для задания частоты возбуждения меньшей. Например, когда идентификационная информация указывает то, что видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, напряжение, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, задается большим. Когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, напряжение, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, задается меньшим. В качестве другого примера, когда идентификационная информация указывает то, что видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, возбуждение CPU ex502, вероятно, не должно приостанавливаться. Когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, возбуждение CPU ex502, вероятно, приостанавливается в данное время, поскольку CPU ex502 имеет дополнительную производительность обработки. Даже когда идентификационная информация указывает то, что видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, в случае если CPU ex502 имеет дополнительную производительность обработки, возбуждение CPU ex502, вероятно, приостанавливается в данное время. В таком случае, время приостановки, вероятно, задается меньшим времени приостановки в случае, когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1.
[0188] Соответственно, энергосберегающий эффект может быть повышен посредством переключения между частотами возбуждения согласно стандарту, которому соответствуют видеоданные. Кроме того, когда LSI ex500 или устройство, включающее в себя LSI ex500, возбуждается с использованием аккумулятора, время работы от аккумулятора может быть продлено за счет энергосберегающего эффекта.
Вариант 6 осуществления
[0189] Возникают случаи, когда множество видеоданных, которые соответствуют различным стандартам, предоставляются в устройства и системы, такие как телевизионный приемник и сотовый телефон. Чтобы обеспечивать декодирование множества видеоданных, которые соответствуют различным стандартам, процессор ex507 сигналов LSI ex500 должен соответствовать различным стандартам. Тем не менее, проблемы увеличения масштаба схемы LSI ex500 и роста затрат возникают при отдельном использовании процессоров ex507 сигналов, которые соответствуют соответствующим стандартам.
[0190] Чтобы разрешать проблему, задумана конфигурация, в которой частично совместно используются процессор декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, и процессор декодирования, который соответствует традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1. Ex900 на Фиг. 28A показывает пример конфигурации. Например, способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и способ декодирования движущихся изображений, который соответствует MPEG-4 AVC, имеют, частично совместно, сведения по обработке, такой как энтропийное кодирование, обратное квантование, фильтрация для удаления блочности и прогнозирование с компенсацией движения. Процессор ex902 декодирования, который соответствует MPEG-4 AVC, может совместно использоваться посредством общих операций обработки, а выделенный процессор ex901 декодирования может использоваться для обработки, которая является уникальной для аспекта настоящего изобретения и не соответствует MPEG-4 AVC. В частности, поскольку аспект настоящего изобретения отличается посредством взаимного прогнозирования, например, выделенный процессор ex901 декодирования может использоваться для взаимного прогнозирования, а процессор декодирования может совместно использоваться посредством любой другой обработки, к примеру, энтропийного декодирования, обратного квантования, фильтрации для удаления блочности и компенсации движения. Процессор декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, может быть совместно использован для обработки, которая должна совместно использоваться, и выделенный процессор декодирования может использоваться для обработки, уникальной для MPEG-4 AVC.
[0191] Кроме того, ex1000 на Фиг. 28B показывает другой пример, в котором обработка совместно используется частично. Этот пример использует конфигурацию, включающую в себя выделенный процессор ex1001 декодирования, который поддерживает обработку, уникальную для аспекта настоящего изобретения, выделенный процессор ex1002 декодирования, который поддерживает обработку, уникальную для другого традиционного стандарта, и процессор ex1003 декодирования, который поддерживает обработку, которая должна совместно использоваться способом декодирования движущихся изображений согласно аспекту настоящего изобретения и традиционным способом декодирования движущихся изображений. Здесь, выделенные процессоры ex1001 и ex1002 декодирования не обязательно являются специализированными для обработки согласно аспекту настоящего изобретения и обработки по традиционному стандарту, соответственно, и могут быть процессорами, допускающими реализацию общей обработки. Кроме того, конфигурация настоящего варианта осуществления может быть реализована посредством LSI ex500.
[0192] Так же, уменьшение масштаба схемы LSI и сокращение затрат возможно за счет совместного использования процессора декодирования для обработки, которая должна совместно использоваться способом декодирования движущихся изображений согласно аспекту настоящего изобретения и способом декодирования движущихся изображений в соответствии с традиционным стандартом.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
[0193] Настоящее изобретение может применяться к способу кодирования изображений, способу декодирования изображений, устройству кодирования изображений и устройству декодирования изображений. Например, настоящее изобретение может быть использовано в устройствах отображения информации и устройствах захвата изображений, таких как телевизионный приемник, цифровое записывающее видеоустройство, автомобильная навигационная система, сотовый телефон, цифровой фотоаппарат, цифровая видеокамера и т.д.
СПИСОК ССЫЛОЧНЫХ ПОЗИЦИЙ
[0194] 100 - устройство кодирования изображений
101 - модуль вычитания
102 - модуль ортогонального преобразования
103 - модуль квантования
104, 204 - модуль обратного квантования
105, 205 - модуль обратного ортогонального преобразования
106, 206 - модуль суммирования
107, 207 - запоминающее устройство блоков
108, 208 - запоминающее устройство кадров
109, 209 - модуль внутреннего прогнозирования
110, 210 - модуль взаимного прогнозирования
111, 211 - модуль переключения
112 - модуль кодирования переменной длины
113 - модуль управления
120 - входное изображение
121, 125, 225 - остаточный сигнал
122, 124, 224 - коэффициенты преобразования
123, 223 - квантованные коэффициенты
126, 226 - декодированное изображение
127, 128, 227, 228 - сигнал изображения
129, 130, 131, 229, 230, 231 - прогнозированное изображение
132, 232 - кодированный поток битов
133, 233 - флаг временного прогнозирования векторов движения
200 - устройство декодирования изображений
212 - модуль декодирования переменной длины.