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

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение относится к способам декодирования движущихся изображений и к способам кодирования движущихся изображений, и, в частности, к способам декодирования и кодирования информации о режиме, включающей в себя информацию о номерах режимов внутрикадрового предсказания, используемых для генерации пикселей предсказания.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В стандарте высокоэффективного кодирования видео (HEVC), который является одним из стандартов кодирования изображений следующего поколения, рассматривались различные соображения для повышения эффективности кодирования (см. непатентную литературу 1).
Примерами кодирования являются, в том числе, кодирование с межкадровым предсказанием и кодирование с внутрикадровым предсказанием. При кодировании с межкадровым предсказанием сжатие выполняют путем межкадрового предсказания, где предсказанное изображение генерируют на основании информации о пикселях предыдущего кадра. При кодировании с внутрикадровым предсказанием сжатие выполняют путем внутрикадрового предсказания, где предсказанное изображение генерируют на основании информации о пикселях внутри изображения.
При кодировании с внутрикадровым предсказанием режимы подготавливают в количестве (intraPredModeNum), соответствующем предварительно заданным размерам целевых блоков кодирования (этими предварительно заданными размерами являются, например, значения log2TrafoSize и типы блоков предсказания) для установления различий по направлениям и т.д. для генерации пикселей с внутрикадровым предсказанием.
Например, в настоящее время рассматривается вариант подготовки 34 режимов (значение intraPredModeNum равно 34) для целевых блоков кодирования, каждый из которых имеет величину размера log2TrafoSize в интервале от 3 до 5 включительно (фиг.15).
Эти режимы именуют режимами внутрикадрового предсказания (IntraPredMode). Значением, характеризующим режим внутрикадрового предсказания (номер режима внутрикадрового предсказания), является величина, отображающая соответствующее направление предсказания. Например, имеется 34 или 17 режимов внутрикадрового предсказания. Например, значение (или метка) номера режима внутрикадрового предсказания, равное "0", указывает вертикаль (направление), значение номера режима внутрикадрового предсказания, равное "1", указывает горизонталь (направление), значение номера режима внутрикадрового предсказания, равное "2", не указывает какое-либо направление, что именуют предсказанием в режиме DC, а значения номеров режимов внутрикадрового предсказания от 3 и выше (значения от 3 до 33 включительно для блоков, имеющих предварительно заданный размер) указывают предварительно заданные направления по углу, связанные с соответствующими режимами.
Ниже в этом описании номер режима внутрикадрового предсказания, соответствующий целевому блоку кодирования, именуют "номером целевого режима". Значение, указанное строкой кода, полученной путем кодирования "номера целевого режима" согласно предварительно заданному алгоритму кодирования, именуют "номером режима кодирования", чтобы отличать его от "номера целевого режима".
Для декодирования целевого блока декодирования (например, блока яркости) используют информацию о режиме, которая представляет собой "информацию для определения того, какой из режимов внутрикадрового предсказания следует использовать". Информацию о режиме генерируют для каждого блока предсказания (ниже, именуемого как PU).
В настоящее время полагают, что информация о режиме включает в себя три блока информации, которые указаны ниже.
(I1) "Флаг использования режима предсказания" (prev_intra_luma_pred_flag), представляющий собой флаг, определяющий, следует ли использовать значение режима внутрикадрового предсказания соседнего PU, декодированного ранее, или нет.
(I2) "Номер возможного варианта режима предсказания" (mpm_idx), представляющий собой индекс, указывающий, какой один из возможных вариантов режима внутрикадрового предсказания при наличии двух или более возможных вариантов для режима внутрикадрового предсказания (ниже именуемых возможными вариантами режимов внутрикадрового предсказания) следует использовать. Например, значение индекса, заданное по умолчанию, равно "0", что указывает первый возможный вариант режима внутрикадрового предсказания.
(I3) "Номер режима кодирования" (rem_intra_luma_pred_mode), представляющий собой код, соответствующий (значение, соответствующее) "номеру целевого режима", когда не используется номер режима внутрикадрового предсказания соседнего PU, декодированного ранее. В процедуре декодирования (1) сначала извлекают "номер режима кодирования" из строки кода, содержащейся в информации о режиме, в соответствии с предварительно заданным способом декодирования переменной длины и т.д. (способом арифметического декодирования и т.д.) и (2) с использованием извлеченного значения получают "номер целевого режима" (любой из вышеупомянутых 34 режимов с 0 по 33 включительно) (или получают информацию, используемую для его вычисления).
СПИСОК ЦИТИРУЕМЫХ ИСТОЧНИКОВ
НЕПАТЕНТНАЯ ЛИТЕРАТУРА
Непатентная литература 1
Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting: Geneva, CH,-6-23 March, 2011 JCTVC-E603 Title: WD3: Working Draft 3 of High-Efficiency Video Coding ver.5
http://phenix.int-evry.fr/jct/doc_end_user/documents/5_Geneva/wg11/JCTVC-E603-v5.zip
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
Однако при традиционном кодировании с внутрикадровым предсказанием эффективность сжатия информации о режиме является недостаточной.
Изобретение было задумано для устранения этого недостатка, и его целью является создание способа кодирования изображений, устройства кодирования изображений, способа декодирования изображений, устройства декодирования изображений и устройства кодирования и декодирования изображений, которые сжимают информацию о режиме с более высокой эффективностью.
РЕШЕНИЕ ЗАДАЧИ
Для устранения вышеупомянутого недостатка способом декодирования изображений согласно варианту осуществления изобретения, который приведен в качестве примера, является способ декодирования изображений для декодирования на поблочной основе данных об изображении, включенных в закодированный поток. Этот способ декодирования изображений включает в себя этапы, на которых: извлекают возможные варианты для режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования, причем количество возможных вариантов постоянно является множественным количеством; из закодированного потока получают индекс для идентификации одного из извлеченных возможных вариантов для режима внутрикадрового предсказания; и на основании полученного индекса определяют один из извлеченных возможных вариантов для режима внутрикадрового предсказания в качестве режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования.
Для устранения вышеупомянутого недостатка способом кодирования изображений согласно варианту осуществления изобретения, который приведен в качестве примера, является способ кодирования изображений для генерации закодированного потока путем кодирования данных об изображении на поблочной основе. Этот способ кодирования изображений включает в себя этапы, на которых: извлекают возможные варианты для режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования, соответствующего целевому блоку кодирования, причем количество возможных вариантов постоянно является множественным количеством; определяют один из извлеченных возможных вариантов для режима внутрикадрового предсказания в качестве режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования; и добавляют к закодированному потоку индекс для идентификации определенного одного из извлеченных возможных вариантов для режима внутрикадрового предсказания.
Для устранения вышеупомянутого недостатка устройством декодирования изображений согласно варианту осуществления изобретения, который приведен в качестве примера, является устройство декодирования изображений для декодирования на поблочной основе данных об изображении, включенных в закодированный поток. Это устройство декодирования изображений включает в себя: блок извлечения, сконфигурированный для извлечения возможных вариантов для режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования, причем количество возможных вариантов постоянно является множественным количеством; блок получения, сконфигурированный для получения из закодированного потока индекса для идентификации одного из извлеченных возможных вариантов для режима внутрикадрового предсказания; и блок определения, сконфигурированный для определения на основании полученного индекса одного из извлеченных возможных вариантов для режима внутрикадрового предсказания в качестве режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования.
Для устранения вышеупомянутого недостатка устройством кодирования изображений согласно варианту осуществления изобретения, который приведен в качестве примера, является устройство кодирования изображений для генерации закодированного потока путем кодирования данных об изображении на поблочной основе. Это устройство кодирования изображений включает в себя: блок извлечения, сконфигурированный для извлечения возможных вариантов для режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования, соответствующего целевому блоку кодирования, причем количество возможных вариантов постоянно является множественным количеством; блок определения, сконфигурированный для определения одного из извлеченных возможных вариантов для режима внутрикадрового предсказания в качестве режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования; и блок добавления, сконфигурированный для добавления к закодированному потоку индекса для идентификации определенного одного из извлеченных возможных вариантов для режима внутрикадрового предсказания.
Для устранения вышеупомянутого недостатка устройство кодирования и декодирования изображений согласно варианту осуществления изобретения, который приведен в качестве примера, включает в себя: устройство декодирования изображений; и устройство кодирования изображений.
Эти общие и частные аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы, носителя записи или любой комбинации из системы, способа, интегральной схемы, компьютерной программы или носителя записи.
ПОЛЕЗНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
Согласно изобретению может быть уменьшен объем обрабатываемых данных наряду с сохранением эффективности кодирования.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг.1 изображена блок-схема, на которой проиллюстрирован пример конфигурации устройства кодирования изображений согласно первому варианту осуществления изобретения.
На фиг.2 изображена схема последовательности операций способа генерации информации о режиме из способа кодирования изображений согласно первому варианту осуществления изобретения.
На фиг.3 изображена подробная схема последовательности операций, выполняемых на этапе S215 из фиг.2.
На фиг.4 изображена схема последовательности операций способа определения режима предсказания согласно первому варианту осуществления изобретения.
На фиг.5 изображена схема последовательности операций примера способа кодирования номера режима кодирования согласно схеме CABAC (этап S217).
На фиг.6A изображена концептуальная схема, на которой проиллюстрирован пример обычной структуры синтаксиса.
На фиг.6B изображена концептуальная схема, на которой проиллюстрирован пример структуры синтаксиса согласно первому варианту осуществления изобретения.
На фиг.7 изображена схема последовательности операций видоизмененного варианта способа определения режима предсказания согласно первому варианту осуществления изобретения.
На фиг.8 изображена схема последовательности операций другого способа кодирования номера режима кодирования, приведенного в качестве примера (этап S217).
На фиг.9A показан пример кодовой таблицы, используемой в другом способе кодирования номера режима кодирования (этап S217).
На фиг.9B показан другой пример кодовой таблицы, используемой в другом способе кодирования номера режима кодирования (этап S217).
На фиг.10 изображена блок-схема, на которой проиллюстрирована конфигурация устройства 200 декодирования согласно второму варианту осуществления изобретения.
На фиг.11 изображена схема последовательности операций способа декодирования согласно второму варианту осуществления изобретения.
На фиг.12A изображена схема последовательности операций обработки при арифметическом декодировании, выполняемых при выводе строки битов согласно схеме CABAC.
На фиг.12B изображена схема последовательности операций обработки при арифметическом декодировании, выполняемых при выводе строки битов согласно схеме CAVLC.
На фиг.13 изображена подробная схема последовательности операций из первого примера этапа S1117.
На фиг.14 изображена подробная схема последовательности операций на этапе S1115.
На фиг.15 изображена концептуальная схема примера декодирования режима предсказания.
На фиг.16 показана общая конфигурация системы предоставления контента для реализации услуг распространения контента.
На фиг.17 показана общая конфигурация системы цифрового вещания.
На фиг.18 изображена блок-схема, на которой проиллюстрирован пример конфигурации телевизора.
На фиг.19 изображена блок-схема, на которой проиллюстрирован пример конфигурации блока воспроизведения/записи информации, который считывает информацию с носителя записи, которым является оптический диск, и записывает информацию на него.
На фиг.20 показан пример конфигурации носителя записи, которым является оптический диск.
На фиг.21A показан пример сотового телефона.
На фиг.21B изображена блок-схема, на которой показан пример конфигурации сотового телефона.
На фиг.22 проиллюстрирована структура мультиплексированных данных.
На фиг.23 схематично показано то, как выполняют мультиплексирование каждого потока в мультиплексированных данных.
На фиг.24 более подробно показано то, как хранится поток видео в потоке пакетов PES.
На фиг.25 показана структура пакетов TS и пакетов-источников в мультиплексированных данных.
На фиг.26 показана структура данных PMT.
На фиг.27 проиллюстрирована внутренняя структура информации о мультиплексированных данных.
На фиг.28 проиллюстрирована внутренняя структура информации об атрибутах потока.
На фиг.29 показаны этапы идентификации видеоданных.
На фиг.30 показан пример конфигурации интегральной схемы для реализации способа кодирования движущихся изображений и способа декодирования движущихся изображений согласно каждому из вариантов осуществления изобретения.
На фиг.31 показана конфигурация для переключения между задающими частотами.
На фиг.32 показаны этапы идентификации видеоданных и переключения между задающими частотами.
На фиг.33 показан пример справочной таблицы, в которой стандарты видеоданных соответствуют задающим частотам.
На фиг.34A изображена схема, на которой показан пример конфигурации для совместного использования модуля блока обработки сигналов.
На фиг.34B изображена схема, на которой показан другой пример конфигурации для совместного использования модуля блока обработки сигналов.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Для устранения вышеупомянутого недостатка способом декодирования изображений согласно варианту осуществления изобретения, который приведен в качестве примера, является способ декодирования изображений для декодирования на поблочной основе данных об изображении, содержащихся в закодированном потоке. Способ декодирования изображений включает в себя этапы, на которых: извлекают возможные варианты для режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования, причем количество возможных вариантов постоянно является множественным количеством; из закодированного потока получают индекс для идентификации одного из извлеченных возможных вариантов для режима внутрикадрового предсказания; и на основании полученного индекса определяют один из извлеченных возможных вариантов для режима внутрикадрового предсказания в качестве режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования.
Ниже описаны три возможные структуры обычной информации о режиме.
(М1) Когда используется один из возможных вариантов режима внутрикадрового предсказания и имеется множество возможных вариантов режима внутрикадрового предсказания (значение NumMPMCand является большим чем 1), то информация о режиме включает в себя (I1) "флаг использования режима предсказания" и (I2) "номер возможного варианта режима предсказания".
(M2) Когда используется возможный вариант режима внутрикадрового предсказания и имеется один возможный вариант режима внутрикадрового предсказания, то информация о режиме включает в себя только (I1) "флаг использования режима предсказания". Это объясняется тем, что при наличии только одного возможного варианта режима внутрикадрового предсказания номер целевого режима является однозначно определенным, вследствие чего не требуется (I2) "номер возможного варианта режима предсказания". Обычно при наличии только одного возможного варианта режима внутрикадрового предсказания "номер возможного варианта режима предсказания" не содержится для уменьшения объема информации о режиме.
(M3) Когда не используется какой-либо возможный вариант режима внутрикадрового предсказания, то информация о режиме включает в себя (I1) "флаг использования режима предсказания" и (I3) "номер режима кодирования", полученный путем кодирования номера целевого режима. Объем информации "номер режима кодирования" является значительно большим, чем объем информации (I2) "номер возможного варианта режима предсказания" и т.п.
В способе декодирования изображений с вышеупомянутой конфигурацией постоянно извлекают два или более возможных вариантов режима, что приводит к высокой доле блоков PU, которые используют возможные варианты режима внутрикадрового предсказания. Другими словами, объем информации может быть уменьшен, поскольку увеличивается доля информации (M2) о режиме, имеющей относительно меньший объем информации, и уменьшается доля информации (M3) о режиме, имеющей больший объем информации. Когда информация о режиме соответствует обычной информации (M1) о режиме, то необходим тот же самый объем информации, что и объем информации (M2) о режиме; и, следовательно, когда информация о режиме соответствует обычной информации (M1) о режиме, то объем информации увеличивается. Однако объем информации (I2) "номер возможного варианта режима предсказания" является значительно меньшим, чем объем информации (I3) "номер режима кодирования". В результате объем сокращенной информации является большим, чем объем расширенной информации во всем кадре или во всем целевом блоке кодирования, что приводит к уменьшению объема информации о режиме.
Кроме того, например, может иметь место случай, когда множественное количество является фиксированным количеством.
Согласно способу декодирования изображений с вышеупомянутой конфигурацией количество возможных вариантов режима внутрикадрового предсказания, подлежащего извлечению, является фиксированным и равным двум или более. В результате при использовании возможного варианта режима внутрикадрового предсказания отсутствует необходимость выполнения процедуры определения количества возможных вариантов режима внутрикадрового предсказания.
Процедурой определения количества возможных вариантов режима внутрикадрового предсказания является, например, процедура определения того, равно ли количество возможных вариантов режима внутрикадрового предсказания, указанных условным выражением 901 "if (NumMPMCand>1)" на фиг.6A, одному (1) или нет. В этой процедуре, например, необходима процедура получения номеров режимов внутрикадрового предсказания блоков PU, на которые ссылаются, и определения того, совпадают ли номера режимов внутрикадрового предсказания блоков PU друг с другом или нет.
Здесь процедура извлечения номеров режимов внутрикадрового предсказания блоков PU, на которые ссылаются, и процедура получения режима внутрикадрового предсказания, используемого для целевого блока декодирования, могут выполняться параллельно для повышения скорости обработки. Обычно, когда (I1) "флаг использования режима предсказания" указывает использование возможного варианта режима внутрикадрового предсказания, то необходимо получать результат процедуры извлечения номеров режимов внутрикадрового предсказания блоков PU, на которые ссылаются, для определения того, содержит ли закодированный поток индекс или нет. В результате процедура получения режима внутрикадрового предсказания, используемого для целевого блока декодирования, не может быть выполнена до тех пор, пока не получен этот результат, что приводит к недостаточному повышению скорости обработки.
С другой стороны, согласно способу декодирования изображений с вышеупомянутой конфигурацией, постоянно генерируют фиксированное количество, а именно два или более возможных вариантов режима предсказания. В результате процедура определения количества возможных вариантов режима внутрикадрового предсказания не является необходимой, что позволяет выполнять декодирование параметров на стороне декодирования независимо от количества режимов предсказания (количества возможных вариантов). В результате может быть выполнена процедура получения режима внутрикадрового предсказания, используемого для целевого блока декодирования, без ожидания результата процедуры извлечения номеров режимов внутрикадрового предсказания блоков PU, на которые ссылаются. Это позволяет повысить скорость обработки в устройстве, выполняющем способ декодирования изображений.
Например, может иметь место случай, когда процедура извлечения включает в себя этапы, на которых: извлекают первый возможный вариант для режима внутрикадрового предсказания, подлежащий использованию для внутрикадрового предсказания для целевого блока декодирования, из режима внутрикадрового предсказания, используемого для внутрикадрового предсказания для каждого из соседних блоков, являющихся соседними с целевым блоком декодирования; определяют, является или нет количество извлеченных первых возможных вариантов меньшим, чем упомянутое множественное количество; и дополнительно извлекают второй возможный вариант для режима внутрикадрового предсказания, подлежащий использованию для внутрикадрового предсказания для целевого блока декодирования, когда определено, что количество извлеченных первых возможных вариантов является меньшим, чем упомянутое множественное количество.
Например, также может иметь место случай, когда при извлечении первого возможного варианта количество соседних блоков, для которых получен режим внутрикадрового предсказания, используемый для внутрикадрового предсказания, равно упомянутому множественному количеству.
Например, также может иметь место случай, когда при извлечении второго возможного варианта второй возможный вариант извлекают так, что общее количество первых возможных вариантов и вторых возможных вариантов равно упомянутому множественному количеству.
Например, также может иметь место случай, когда при извлечении второго возможного варианта в качестве второго возможного варианта извлекают режим внутрикадрового предсказания, являющийся иным, чем режим внутрикадрового предсказания, используемый для внутрикадрового предсказания для каждого из соседних блоков, которые являются соседними с целевым блоком декодирования.
Например, также может иметь место случай, когда при извлечении второго возможного варианта в качестве второго возможного варианта извлекают, по меньшей мере, один из следующих режимов: (i) режим внутрикадрового предсказания, указывающий предсказание с использованием среднего значения из значений пикселей целевого блока декодирования, (ii) режим внутрикадрового предсказания, указывающий предсказание по плоскости, и (iii) режим внутрикадрового предсказания, указывающий предсказание по вертикали.
Например, также может иметь место случай, в котором при извлечении, (i) когда существует соседний блок, являющийся соседним с целевым блоком декодирования, в качестве возможных вариантов для режима внутрикадрового предсказания извлекают режим внутрикадрового предсказания, являющийся иным, чем режим внутрикадрового предсказания, используемый для внутрикадрового предсказания для соседнего блока, и (ii) когда не существует соседний блок, являющийся соседним с целевым блоком декодирования, возможные варианты для режима внутрикадрового предсказания извлекают на основании предварительно заданного условия.
Например, также может иметь место случай, когда при извлечении дополнительно генерируют перечень возможных вариантов с использованием возможных вариантов для режима внутрикадрового предсказания, и индекс представляет собой число для идентификации одного из возможных вариантов для режима внутрикадрового предсказания, включенных в перечень возможных вариантов.
Для устранения вышеупомянутого недостатка способом кодирования изображений согласно варианту осуществления изобретения, который приведен в качестве примера, является способ кодирования изображений, в котором генерацию закодированного потока осуществляют путем кодирования данных об изображении на поблочной основе. Этот способ кодирования изображений включает в себя: извлекают возможные варианты для режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования, соответствующего целевому блоку кодирования, причем количество возможных вариантов постоянно является множественным количеством; определяют один из извлеченных возможных вариантов для режима внутрикадрового предсказания в качестве режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования; и добавляют к закодированному потоку индекс для идентификации определенного одного из извлеченных возможных вариантов для режима внутрикадрового предсказания.
Например, может иметь место случай, когда множественное количество является фиксированным количеством.
Для устранения вышеупомянутого недостатка устройством декодирования изображений согласно варианту осуществления изобретения, который приведен в качестве примера, является устройство декодирования изображений для декодирования на поблочной основе данных об изображении, включенных в закодированный поток. Это устройство декодирования изображений включает в себя: блок извлечения, сконфигурированный для извлечения возможных вариантов для режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования, причем количество возможных вариантов постоянно является множественным количеством; блок получения, сконфигурированный для получения из закодированного потока индекса для идентификации одного из извлеченных возможных вариантов для режима внутрикадрового предсказания; и блок определения, сконфигурированный для определения на основании полученного индекса одного из извлеченных возможных вариантов для режима внутрикадрового предсказания в качестве режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования.
Для устранения вышеупомянутого недостатка устройством кодирования изображений согласно варианту осуществления изобретения, который приведен в качестве примера, является устройство кодирования изображений для генерации закодированного потока путем кодирования данных об изображении на поблочной основе. Это устройство кодирования изображений включает в себя: блок извлечения, сконфигурированный для извлечения возможных вариантов для режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования, соответствующего целевому блоку кодирования, причем количество возможных вариантов постоянно является множественным количеством; блок определения, сконфигурированный для определения одного из извлеченных возможных вариантов для режима внутрикадрового предсказания в качестве режима внутрикадрового предсказания, подлежащего использованию для внутрикадрового предсказания для целевого блока декодирования; и блок добавления, сконфигурированный для добавления к закодированному потоку индекса для идентификации определенного одного из извлеченных возможных вариантов для режима внутрикадрового предсказания.
Для устранения вышеупомянутого недостатка устройство кодирования и декодирования изображений согласно варианту осуществления изобретения, который приведен в качестве примера, включает в себя устройство декодирования изображений; и устройство кодирования изображений.
Часть компонентов или все компоненты, из которых состоят устройство кодирования изображений и устройство декодирования изображений, могут быть сконфигурированы с одиночной системной большой интегральной схемой (LSI). Системная LSI представляет собой сверхмногофункциональную LSI, изготовленную путем интеграции составных элементов на одной микросхеме, и, в частности, представляет собой компьютерную систему, сконфигурированную так, что она включает в себя микропроцессор, постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM) и т.д.
Ниже приведено описание некоторых вариантов осуществления изобретения, которые приведены в качестве примеров, со ссылкой на сопроводительные чертежи. В каждом из описанных ниже вариантов осуществления изобретения, которые приведены в качестве примеров, показан желательный конкретный пример. Структурные элементы, компоновка и соединение структурных элементов, этапов, порядок обработки на этапах и т.д., показанные в описанных ниже вариантах осуществления изобретения, которые приведены в качестве примеров, просто являются примерами и, следовательно, не ограничивают изобретение. Следовательно, среди структурных элементов в приведенных ниже вариантах осуществления изобретения те структурные элементы, которые не перечислены в любом из независимых пунктов формулы изобретения, определяющих наиболее основополагающую часть изобретения, описаны как произвольные структурные элементы.
Первый вариант осуществления изобретения
Со ссылкой на фиг.1-6B приведены описания способа кодирования изображений и устройства кодирования изображений, выполняющего способ кодирования изображений согласно первому варианту осуществления изобретения.
Устройство кодирования изображений имеет функцию генерации для каждого PU информации о режиме, указывающей режим внутрикадрового предсказания, используемый для внутрикадрового предсказания. В первом варианте осуществления изобретения в качестве примера описан случай, когда количество возможных вариантов режима внутрикадрового предсказания заранее зафиксировано равным двум (постоянно извлекают фиксированное количество возможных вариантов режима внутрикадрового предсказания, равное двум или более). Следует отметить, что одни и те же способы также могут использоваться в том случае, когда количество возможных вариантов режима внутрикадрового предсказания зафиксировано равным трем или более, или в том случае, когда количество возможных вариантов режима внутрикадрового предсказания задано как переменная величина, равная двум или более.
1-1. Конфигурация устройства кодирования изображений
Со ссылкой на фиг.1 приведено описание конфигурации устройства кодирования изображений согласно первому варианту осуществления изобретения. На фиг.1 изображена блок-схема, на которой проиллюстрирована конфигурация устройства 100 кодирования изображений.
Устройство 100 кодирования изображений принимает входной сигнала изображения, кодирует сигнал изображения и выводит в устройство декодирования изображений (на фиг.1 не показано) поток битов (bitStr), выведенный из блока 120 кодирования переменной длины, описание которого приведено ниже.
Как показано на фиг.1, устройство 100 кодирования изображений, например, включает в себя: блок 101 вычитания, который производит вывод разностного изображения между изображением, указанным сигналом изображения, и предсказанным изображением; блок 102 преобразования, который выполняет, например, дискретное косинусное преобразование (DCT) разностного изображения; блок 103 квантования, который выполняет квантование разностного изображения, подвергнутого DCT; блок 104 обратного квантования, который выполняет обратное квантование; блок 105 обратного преобразования, который выполняет, например, обратное DCT; блок 106 суммирования, который суммирует предыдущее предсказанное изображение и разностное изображение, восстановленное блоком 105 обратного преобразования, для вывода предыдущего изображения; блок 107 межкадрового предсказания, который генерирует предсказанное изображение путем межкадрового предсказания; блок 108 внутрикадрового предсказания, который генерирует предсказанное изображение путем внутрикадрового предсказания; блок 109 переключения, который производит избирательный вывод предсказанного изображения из блока 107 межкадрового предсказания и предсказанного изображения из блока 108 внутрикадрового предсказания; блок 110 управления кодированием, который управляет каждой функцией устройства 100 кодирования изображений; и блок 120 кодирования переменной длины, который выполняет кодирование данных из блока 103 квантования переменной длины.
Блок 110 управления кодированием хранит "номер целевого режима" и "способ кодирования переменной длины", которые должны быть применены для целевого блока кодирования (PU или блока, включенного в PU, и их применение описано ниже), определенные согласно предварительно заданному стандарту оценки. Например, задан такой критерий оценки, который обеспечивает уменьшение количества битов в выведенных строках кода при условии обеспечения предварительно заданной точности предсказания.
Согласно "номеру целевого режима", заданному блоком 110 управления кодированием, блок 108 внутрикадрового предсказания предсказывает значение пикселя текущего целевого блока кодирования с использованием предсказанного пикселя, расположенного в направлении, заданном режимом внутрикадрового предсказания, который указан номером целевого режима. Кроме того, блок 108 внутрикадрового предсказания кодирует "номер целевого режима" для генерации "номера режима кодирования".
Блок 120 кодирования переменной длины выполняет энтропийное кодирование, например арифметическое кодирование "номера режима кодирования", сгенерированного блоком 108 внутрикадрового предсказания согласно "способу кодирования переменной длины", заданному блоком 110 управления кодированием, для вывода потока битов (bitStr).
1-2. Порядок выполнения способа кодирования изображений
Со ссылкой на фиг.2 приведено описание способа кодирования изображений согласно первому варианту осуществления изобретения. На фиг.2 изображена схема последовательности операций способа генерации информации о режиме, выполняемых устройством кодирования изображений, которое показано на фиг.1.
Сначала блок 110 управления кодированием получает "номер целевого режима" целевого блока кодирования, для которого сгенерирована информация о режиме (этап S201).
Затем блок 110 управления кодированием получает возможные варианты режима внутрикадрового предсказания для целевого блока кодирования для получения "массива режимов предсказания" (candModeList) (этап S203). В первом варианте осуществления изобретения количество возможных вариантов режима внутрикадрового предсказания зафиксировано равным двум; и, таким образом, количество элементов, содержащихся в массиве режимов предсказания, равно двум. Когда количество возможных вариантов режима внутрикадрового предсказания зафиксировано равным трем или более, количество элементов, содержащихся в массиве режимов предсказания, равно количеству возможных вариантов режима внутрикадрового предсказания. Когда количество возможных вариантов режима внутрикадрового предсказания задано как переменная величина, количество элементов в массиве режимов предсказания равно максимальному количеству возможных вариантов режима внутрикадрового предсказания.
Массив режимов предсказания представляет собой массив, в котором каждый элемент имеет величину индекса (начиная с 0), который представляет собой "номер возможного варианта режима предсказания", а его описание приведено ниже. Подробности способа получения возможных вариантов режима внутрикадрового предсказания на этом этапе будут описаны ниже со ссылкой на фиг.4.
Затем определяют, совпадает ли или нет номер целевого режима со значением какого-либо из элементов массива режимов предсказания (этап S205).
(Случай, когда номер целевого режима совпадает со значением какого-либо из элементов массива режимов предсказания)
Когда в результате определения на этапе S205 получают результат, что "номер целевого режима совпадает со значением любого из элементов массива режимов предсказания" ("ДА" на этапе S205), то блок 110 управления кодированием устанавливает значение флага использования режима предсказания равным "1" (этап S207).
Блок 110 управления кодированием выполняет кодирование номеров возможных вариантов режима предсказания (значений индексов в массиве режимов предсказания) переменной длины (этап S209) согласно заданной схеме для идентификации используемого режима предсказания из возможных вариантов режима внутрикадрового предсказания, полученных на этапе S203.
(Случай, когда номер целевого режима не совпадает со значением какого-либо из элементов массива режимов предсказания)
Когда в результате определения на этапе S205 получают результат, что "номер целевого режима не совпадает со значением какого-либо из элементов массива режимов предсказания" ("НЕТ" на этапе S205), то блок 110 управления кодированием устанавливает "флаг использования режима предсказания" равным 0 (этап S213).
Затем блок 110 управления кодированием генерирует на основании номера целевого режима и количества возможных вариантов режима внутрикадрового предсказания "номер режима кодирования" (значение "rem_intra_luma_pred_mode") (этап S215). На этом этапе генерируют различные номера режимов кодирования на основании номера целевого режима и согласно количеству возможных вариантов режима внутрикадрового предсказания даже в случае одного и того же номера целевого режима. Описание этапа (S215) будет приведено ниже со ссылкой на фиг.3.
Наконец, блок 110 управления кодированием кодирует номер режима кодирования согласно заданному способу кодирования переменной длины (этап S217). Описание этапа (S217) будет приведено ниже со ссылкой на фиг.5 (схема CABAC) и фиг.8 (схема CAVLC).
1-2-1. Пример генерации номера режима кодирования
Приведено описание примера этапа S215 генерации номера режима кодирования. На фиг.3 изображена схема последовательности операций, выполняемых на этапе S215 генерации номера режима кодирования, который приведен в качестве примера. Номер режима кодирования может быть генерирован иными способами.
Сначала блок 110 управления кодированием получает общее количество режимов внутрикадрового предсказания (количество типов режимов внутрикадрового предсказания, равное 34 в первом варианте осуществления изобретения) и количество возможных вариантов режима внутрикадрового предсказания (этап S301). Как описано выше, в первом варианте осуществления изобретения количество возможных вариантов режима внутрикадрового предсказания является фиксированным количеством, равным двум.
Блок 110 управления кодированием повторяет цикл, указанный как цикл с этапа S302 по этап S307, такое количество раз, которое задано количеством возможных вариантов режима внутрикадрового предсказания. В первом варианте осуществления изобретения количество возможных вариантов режима внутрикадрового предсказания равно 2; и, таким образом, этап S303 (и этап S305 в зависимости от результата определения на этапе S303) выполняют дважды, когда значения индексов (i) равны 1 и 0. Когда количество возможных вариантов режима предсказания равно N, то этап S303 (и этап S305 в зависимости от результата определения на этапе S303) выполняют N раз.
На этапе S302 i устанавливают равным 0.
На этапе S303 определяют, является ли значение номера целевого режима в текущий момент времени большим, чем значение элемента, заданного индексом (i), в массиве режимов предсказания или нет. Когда результат определения показывает, что значение номера целевого режима в текущий момент времени является большим, чем значение заданного элемента, то значение номера целевого режима в текущий момент времени уменьшают на 1 (этап S305).
Это повторяют такое количество раз, которое задано значением количества возможных вариантов режима внутрикадрового предсказания, и на этапе S305 в качестве "номера режима кодирования", в конечном счете, определяют текущий номер целевого режима, отражающий результат уменьшения и т.п. (этап S309).
Обработка на этапе S215 является эквивалентной, например, определению совместно с "номером режима кодирования" значения "номера целевого режима", принимающего любое из всего тридцати четырех значений от 0 до 33.
В таблице 1 показаны взаимосвязи между (a) номерами целевых режимов и (b) "номерами режимов кодирования" в том случае, когда "количество возможных вариантов режима предсказания" равно двум (когда имеются индексы 0 и 1). В таблице 1 (c) указывает процедуру, выполняемую на этапе S305 (измененное значение относительно текущего номера целевого режима), когда i=0, а (d) указывает процедуру, выполняемую на этапе S305 (измененное значение относительно текущего номера целевого режима), когда i=1. В таблице 1 candModeList[0] указывает первый элемент в массиве режимов предсказания, а candModeList[1] указывает второй элемент в массиве режимов предсказания.
Таблица 1
(a) Номер целевого режима 0 … 33
0
1
2
…
CandModeList[0]
…
CandModeList[1]
…
33
(c) S305 (i=0)
0
0
0
0
ДА (S205)
-1
-1
-1
-1
(d) S305 (i=1)
0
0
0
0
0
0
ДА (S205)
-1
-1
(b) Номер режима кодирования (0 … 31)
0
1
2
…
Не является необходимым (S205)
…
Не является необходимым (S205)
…
31
Из таблицы 1 номер режима кодирования может быть извлечен описанным ниже способом согласно значению номера целевого режима.
(1) Номер целевого режима совпадает с номером режима кодирования, когда выполняется следующее условие: 0 ≤ номера целевого режима < значения первого элемента массива режимов предсказания (0 ≤ номера целевого режима < candModeList[0]).
(2) Номер режима кодирования равен числу, меньшему, чем номер целевого режима, на 1, когда выполняется следующее условие: значение первого элемента массива режимов предсказания < номера целевого режима < значения второго элемента массива режимов предсказания (candModeList[0] < номера целевого режима < candModeList[1]).
(3) Номер режима кодирования равен числу, меньшему, чем номер целевого режима, на 2, когда выполняется следующее условие: значение второго элемента массива режимов предсказания < номера целевого режима (candModeList[1] < номера целевого режима).
Другими словами, когда массив режимов предсказания состоит из количества элементов, равного k (когда имеется k возможных вариантов режима внутрикадрового предсказания), то возможно отсортировать элементы на основании значений в массиве режимов предсказания, сравнить номер целевого режима с каждым из элементов, упорядоченных в массиве режимов предсказания, для определения положения элемента, при этом номер целевого режима является большим, чем значение в массиве режимов предсказания.
(k) Номер режима кодирования является меньшим, чем номер целевого режима, на k-1, когда выполняется следующее условие: значение (k-1)-го элемента массива режимов предсказания < номера целевого режима < значения k-го элемента (когда candModeList[k-1] < номера целевого режима < candModeList[k]).
1-2-2. Способ генерации массива режимов предсказания
Со ссылкой на фиг.4 приведено описание способа определения "массива режимов предсказания" (candModeList). На фиг.4 изображена подробная схема последовательности операций, выполняемых на этапе получения массива режимов предсказания (на этапе S203), показанном на фиг.2. Здесь приведено описание случая, в котором определяют "массив режимов предсказания" (candModeList) целевого блока кодирования, когда количество возможных вариантов режима внутрикадрового предсказания зафиксировано равным двум.
В первом варианте осуществления изобретения в качестве элементов "массива режимов предсказания" (candModeList) используют номера целевых режимов соседних блоков, которые уже были закодированы. В случае, когда количество номеров целевых режимов соседних блоков, которые были уже закодированы, является меньшим, чем количество элементов массива режимов предсказания, как в том случае, когда номера целевых режимов соседних блоков совпадают друг с другом (предполагают, что совпадающий номер целевого режима соответствует одному возможному варианту режима внутрикадрового предсказания), возможные варианты режима внутрикадрового предсказания определяют из иных режимов внутрикадрового предсказания, чем номера целевых режимов соседних блоков, такие как, например, режим предсказания DC, предсказание по плоскости (внутрикадровое по плоскости) и предсказание по вертикали (внутрикадровое по углу).
Блок 110 управления кодированием устанавливает значение intraPredModeLeft равным номеру целевого режима уже закодированного блока слева от целевого блока кодирования (этап S401).
В частности, например, когда соседний блок слева закодирован с использованием внутрикадрового предсказания, то intraPredModeLeft устанавливают равным номеру целевого режима, используемому при кодировании (декодировании). Когда соседний блок слева закодирован с использованием иного способа кодирования, чем кодирование с внутрикадровым предсказанием (например, способом кодирования с межкадровым предсказанием), то intraPredModeLeft устанавливают равным номеру режима внутрикадрового предсказания (например, равный "2"), указывающему режим предсказания DC (обозначенный на фиг.4 как предсказание с усреднением (DC-предсказание)). Когда определено, что соседний блок слева не существует (например, в случае границы слоя или края изображения), то значение intraPredModeLeft устанавливают как "данные отсутствуют".
Аналогичным образом блок 110 управления кодированием устанавливает значение intraPredModeAbove равным номеру целевого режима уже закодированного блока сверху целевого блока кодирования (этап S402). Способ установления значения intraPredModeAbove является тем же самым, что и процедура, выполняемая для соседнего блока слева (этап S401), за исключением положения блока.
После установления значений intraPredModeLeft и intraPredModeAbove блок 110 управления кодированием определяет, являются ли номера целевых режимов соседних блоков слева и сверху несуществующими (если оба значения intraPredModeLeft и intraPredModeAbove указывают, что "данные отсутствуют") (этап S403).
Здесь в случае результата "ДА" на этапе S403 (когда оба соседних блока слева и сверху не существуют) блок 110 управления кодированием устанавливает номер режима внутрикадрового предсказания, равный "0", в позицию 0 перечня (candModeList[0]), являющуюся первым элементом "массива режимов предсказания" (candModeList) целевого блока кодирования, и устанавливает номер режима внутрикадрового предсказания, указывающий режим предсказания DC (например, "2"), в позицию 1 перечня (candModeList[1]), являющуюся вторым элементом "массива режимов предсказания" (этап S404).
В случае результата "НЕТ" на этапе S403 блок 110 управления кодированием определяет, является ли одно из значений intraPredModeLeft и intraPredModeAbove несуществующим, или совпадают ли intraPredModeLeft и intraPredModeAbove друг с другом или нет (этап S405).
В случае результата "НЕТ" на этапе S405 (когда существуют номера целевых режимов обоих соседних блоков слева и сверху, но они не совпадают друг с другом) блок 110 управления кодированием устанавливает в позицию 0 перечня (candModeList[0]) в "массиве режимов предсказания" (candModeList) целевого блока кодирования номер целевого режима, который является меньшим из номера целевого режима соседнего блока слева и номера целевого режима соседнего блока сверху. Кроме того, блок 110 управления кодированием устанавливает в позицию 1 перечня (candModeList[1]) номер целевого режима, который является наибольшим из номера целевого режима соседнего блока слева и номера целевого режима соседнего блока сверху (этап S406).
В случае результата "ДА" на этапе S405 (когда существует только одни из номеров целевых режимов соседних блоков слева и сверху или когда номера целевых режимов соседних блоков слева и сверху совпадают друг с другом) блок 110 управления кодированием определяет, являются ли совпавший номер целевого режима или существующий номер целевого режима (ниже именуемый "номером режима соседнего блока") номером режима внутрикадрового предсказания (например, "2"), указывающим режим предсказания DC (этап S407).
В случае результата "ДА" на этапе S407 (когда номером режима соседнего блока является номер режима внутрикадрового предсказания, указывающий режим предсказания DC) блок 110 управления кодированием устанавливает в позицию 0 перечня (candModeList[0]) в "массиве режимов предсказания" (candModeList) целевого блока кодирования номер режима внутрикадрового предсказания, который является меньшим из номера режима соседнего блока (совпавшего номера целевого режима или существующего номера целевого режима) и номера режима внутрикадрового предсказания, указывающего режим предсказания DC. Кроме того, блок 110 управления кодированием устанавливает в позицию 1 перечня (candModeList[1]) номер режима внутрикадрового предсказания, который является наибольшим из номера режима соседнего блока (совпавшего номера целевого режима или существующего номера целевого режима) и номера режима внутрикадрового предсказания, указывающего режим предсказания DC (этап S408).
В случае результата "НЕТ" на этапе S407 (когда номер режима соседнего блока не является номером режима внутрикадрового предсказания (например, "2"), указывающим режим предсказания DC) блок 110 управления кодированием определяет, является ли номер режима соседнего блока равным "0" или нет (этап S409).
В случае результата "НЕТ" на этапе S409 (когда номер режима соседнего блока не равен "0") блок 110 управления кодированием устанавливает номер режима внутрикадрового предсказания, равный "0", в позицию 0 перечня (candModeList[0]) и устанавливает номер режима соседнего блока в позицию 1 перечня (candModeList[1]) в "массиве режимов предсказания" (candModeList) целевого блока кодирования (этап S410).
В случае результата "ДА" на этапе S409 (когда номер режима соседнего блока равен "0") блок 110 управления кодированием устанавливает номер режима соседнего блока, равный "0", в позицию 0 перечня (candModeList[0]) и устанавливает номер режима внутрикадрового предсказания, равный "1", в позицию 1 перечня (candModeList[1]) в "массиве режимов предсказания" (candModeList) целевого блока кодирования (этап S411).
На этапах S408-S411 каждому элементу массива режимов предсказания предпочтительно присваивают номер режима предсказания DC и номера режимов внутрикадрового предсказания, равные "0" и "1". В результате, как показано в приведенной выше таблице 1, номера режимов кодирования могут быть уменьшены, что приводит к повышению эффективности кодирования.
Здесь предпочтительный порядок (номер режима предсказания DC, номера режимов внутрикадрового предсказания, равные "0" и "1") приведен просто в качестве примера. За счет назначения приоритета меньшему номеру режима внутрикадрового предсказания можно повысить эффективность кодирования даже в том случае, когда понижен приоритет режима предсказания DC.
1-2-3. Кодирование номера режима кодирования
Со ссылкой на фиг.5 приведено описание примера этапа S217 кодирования номера режима кодирования. В этом примере кодирование выполняют согласно заданной схеме кодирования переменной длины и CABAC. На фиг.5 изображена схема последовательности операций способа кодирования согласно схеме CABAC.
Блок 110 управления кодированием получает номер режима кодирования, например, согласно способу, показанному на фиг.3 (этап S701 и этап S215), и выполняет процедуру бинаризации полученного номера режима кодирования согласно способу бинаризации, соответствующему общему количеству режимов внутрикадрового предсказания (максимальному количеству режимов) (этап S702). Это означает, что, например, в том случае, когда максимальное количество режимов изменяется в зависимости от блока кодирования в режиме внутрикадрового предсказания (например, 17 режимов, когда блок кодирования имеет размер 4×4, и 34 режима, когда блок кодирования имеет размер 8×8 или более), процедуру бинаризации выполняют в соответствии с размером.
Блок 110 управления кодированием выполняет двоичное арифметическое кодирование сигнала, при котором выполняют бинаризацию номера режима кодирования (этап S703). Это позволяет записывать номер режима кодирования в потоке.
Со ссылкой на фиг.6A и 6B приведены описания примеров синтаксиса, в которых продемонстрирована конкретная структура данных. На фиг.6A изображена концептуальная схема, на которой проиллюстрирован пример структуры синтаксиса, взятый из непатентной литературы 1, который указывает структуру данных, хранящую номера целевых режимов. На фиг.6B изображена концептуальная схема, на которой проиллюстрирован пример структуры синтаксиса согласно первому варианту осуществления изобретения.
Предполагают, что узлы, не описанные здесь подробно, функционируют так, как изложено в непатентной литературе 1. В обычной структуре синтаксиса сначала кодируют флаг использования режима предсказания (prev_intra_luma_pred_flag).
Когда флаг использования режима предсказания указывает 1, то определяют, является ли количество возможных вариантов режима внутрикадрового предсказания (NumMPMCand) большим, чем один (901). Когда количество возможных вариантов режима внутрикадрового предсказания (NumMPMCand) является большим, чем один (два или более), то кодируют номер возможного варианта режима предсказания (mpm_idx).
Когда флаг использования режима предсказания указывает 0, то кодируют номер режима кодирования (rem_intra_luma_pred_mode).
В конфигурации согласно изобретению количество возможных вариантов режима внутрикадрового предсказания является фиксированным и равным, по меньшей мере, двум или более; и, следовательно, условное выражение 901 "if (NumMPMCand>1)" на фиг.6A является ненужным, а это приводит к тому, что поток битов имеет структуру синтаксиса, показанную на фиг.6B. Другими словами, когда флаг использования режима предсказания равен 1, то номер возможного варианта режима предсказания (mpm_idx) всегда кодируют. Это приводит к меньшему количеству случаев условного ветвления, что позволяет генерировать поток битов, который может быть декодирован с меньшим объемом обработки. Хотя это и не показано на чертежах, обычно после этапа S207 на фиг.2 выполняют процедуру определения того, совпадает ли или нет номер целевого режима соседнего блока слева с номером целевого режима соседнего блока сверху. Когда номера целевых режимов совпадают друг с другом, то выполняют этап S209.
Видоизмененный вариант первого варианта осуществления изобретения
(Первый видоизмененный вариант: видоизмененный вариант способа определения режима предсказания)
Способ определения массива режимов предсказания, описанный со ссылкой на фиг.4, может быть видоизменен следующим образом.
В первом видоизмененном варианте помимо номеров целевых режимов, используемых для соседних блоков, для целевого блока кодирования в качестве номера наиболее частого режима выбирают номер режима внутрикадрового предсказания, имеющего наиболее высокую вероятность события. Затем номер наиболее частого режима заменяют одним из следующих: "режим предсказания DC номер 2", "режим номер 0" и "режим номер 1", как показано на фиг.4.
Для выбора номера наиболее частого режима, например, может быть выбран номер режима внутрикадрового предсказания, имеющий минимальную длину кода, в соответствии с состоянием контекста, используемым при арифметическом кодировании на этапе S703 из фиг.5. Кроме того, в качестве номера наиболее частого режима может быть определен, например, номер режима внутрикадрового предсказания, соответствующий минимальной длине в битах согласно таблице переменной длины, используемой на этапах S502 и S503 из фиг.8, описание которого приведено ниже. Также может иметь место случай, когда номер наиболее частого режима выбирают согласно совершенно иному способу (например, путем статистического вычисления номера наиболее частого режима из предысторий номеров режимов в соседних блоках и интегральных номеров целевых режимов). Первые два способа могут повышать эффективность кодирования, не увеличивая объем обработки за счет совместного использования существующих этапов. Ожидается, что последний способ значительно повышает эффективность кодирования, несмотря на небольшое увеличение объема обработки.
Со ссылкой на фиг.7 приведено описание способа определения массива режимов предсказания с использованием номера наиболее частого режима. На фиг.7 изображена схема последовательности операций, выполняемых на этапе определения массива режимов предсказания (на этапе S203), которая приведена в качестве примера. Процедура, показанная на схеме последовательности операций из фиг.7, является видоизмененным вариантом процедуры, показанной на схеме последовательности операций из фиг.4. Этапы (этапы S401-S403 и S405-S408) на фиг.7 являются теми же самыми, что и на фиг.4, за исключением этапа S404 (этапа S804), этапа S409 (этапа S809), этапа S410 (этапа S810) и этапа S411 (этапа S811). Таким образом, повторяющиеся описания этапов могут быть соответственно опущены.
Здесь приведено описание случая, когда "массив режимов предсказания" (candModeList) целевого блока кодирования определяют тогда, когда количество возможных вариантов режима внутрикадрового предсказания зафиксировано равным двум.
Блок 110 управления кодированием устанавливает для intraPredModeLeft номер целевого режима уже закодированного блока слева от целевого блока кодирования (этап S401) и устанавливает для intraPredModeAbove номер целевого режима уже закодированного блока сверху целевого блока кодирования (этап S402).
После установления значений intraPredModeLeft и intraPredModeAbove блок 110 управления кодированием определяет, являются ли номера целевых режимов соседних блоков слева и сверху несуществующими (если оба значения intraPredModeLeft и intraPredModeAbove указывают, что "данные отсутствуют") (этап S403).
В случае результата "ДА" на этапе S403 (когда оба соседних блока слева и сверху не существуют) блок 110 управления кодированием устанавливает в позицию 0 перечня (candModeList[0]) в "массиве режимов предсказания" целевого блока кодирования номер режима внутрикадрового предсказания, который является меньшим из номера наиболее частого режима и номера режима внутрикадрового предсказания, указывающего режим предсказания DC (например, "2"). Кроме того, блок 110 управления кодированием устанавливает в позицию 1 перечня (candModeList[1]) номер режима внутрикадрового предсказания, являющийся наибольшим из номера наиболее частого режима и номера режима внутрикадрового предсказания, указывающего режим предсказания DC (например, "2") (этап S804).
В случае результата "НЕТ" на этапе S403 блок 110 управления кодированием определяет, является ли один из intraPredModeLeft и intraPredModeAbove несуществующим, или совпадают ли intraPredModeLeft и intraPredModeAbove друг с другом или нет (этап S405).
В случае результата "НЕТ" на этапе S405 (когда номера целевых режимов обоих соседних блоков слева и сверху существуют, но не совпадают друг с другом) блок 110 управления кодированием устанавливает в позицию 0 перечня (candModeList[0]) в "массиве режимов предсказания" (candModeList) целевого блока кодирования номер целевого режима, который является меньшим из номера целевого режима соседнего блока слева и номера целевого режима соседнего блока сверху. Кроме того, блок 110 управления кодированием устанавливает в позицию 1 перечня (candModeList[1]) номер целевого режима, являющийся наибольшим из номера целевого режима соседнего блока слева и номера целевого режима соседнего блока сверху (этап S406).
В случае результата "ДА" на этапе S405 (когда существует только один из номеров целевых режимов соседних блоков слева и сверху или когда номера целевых режимов соседних блоков слева и сверху совпадают друг с другом) блок 110 управления кодированием определяет, являются ли совпавший номер целевого режима или существующий номер целевого режима (номер режима соседнего блока) номером режима внутрикадрового предсказания (например, "2"), который указывает режим предсказания DC (этап S407).
В случае результата "ДА" на этапе S407 (когда номером режима соседнего блока является номер режима внутрикадрового предсказания, указывающий режим предсказания DC) блок 110 управления кодированием устанавливает в позицию 0 перечня (candModeList[0]) в "массиве режимов предсказания" (candModeList) целевого блока кодирования номер режима внутрикадрового предсказания, который является меньшим из номера режима соседнего блока (совпавшего номера целевого режима или существующего номера целевого режима) и номера режима внутрикадрового предсказания, указывающего режим предсказания DC. Кроме того, блок 110 управления кодированием устанавливает в позицию 1 перечня (candModeList[1]) номер режима внутрикадрового предсказания, который является наибольшим из номера режима соседнего блока (совпавший номер целевого режима или существующий номер целевого режима) и номера режима внутрикадрового предсказания, указывающего режим предсказания DC (этап S408).
В случае результата "НЕТ" на этапе S407 (когда номером режима соседнего блока не является номер режима внутрикадрового предсказания (например, "2"), указывающий режим предсказания DC) блок 110 управления кодированием определяет, является ли номер режима соседнего блока номером наиболее частого режима или нет (этап S809).
В случае результата "НЕТ" на этапе S809 (когда номером режима соседнего блока не является номер наиболее частого режима) блок 110 управления кодированием устанавливает в позицию 0 перечня (candModeList[0]) номер режима внутрикадрового предсказания, который является меньшим из номера наиболее частого режима и номера режима соседнего блока, и устанавливает в позицию 1 перечня (candModeList[1]) номер режима внутрикадрового предсказания, который является наибольшим из номера наиболее частого режима и номера режима соседнего блока, в "массиве режимов предсказания" целевого блока кодирования (этап S810).
В случае результата "ДА" на этапе S809 (когда номером режима соседнего блока является номер наиболее частого режима) блок 110 управления кодированием устанавливает в позицию 0 перечня (candModeList[0]) номер режима внутрикадрового предсказания, который является меньшим из номера режима соседнего блока (= номер наиболее частого режима) и номера режима внутрикадрового предсказания, указывающего режим предсказания DC, и устанавливает в позицию 1 перечня (candModeList[1]) номер режима внутрикадрового предсказания, который является наибольшим из номера режима соседнего блока (= номер наиболее частого режима) и номера режима внутрикадрового предсказания, указывающего режим предсказания DC, в "массиве режимов предсказания" целевого блока кодирования (этап S811).
Как описано выше, на этапах S809-S811 соответствующим элементам массива режимов предсказания предпочтительно присваивают номер наиболее частого режима и номер режима предсказания DC. В результате, можно увеличить коэффициент совпадения для режима внутрикадрового предсказания. Кроме того, как показано в таблице 1, номера режимов кодирования могут быть уменьшены, что приводит к повышению эффективности кодирования.
Здесь предпочтительный порядок (предпочтительный порядок следования номера режима предсказания DC, номера наиболее частого режима и номера режима внутрикадрового предсказания, равного "0") приведен просто в качестве примера и может быть изменен на основании статистической информации. Номер режима внутрикадрового предсказания, равный "0", указывает, например, предсказание по плоскости (внутрикадровое по плоскости) и предсказание по вертикали (внутрикадровое по углу).
(Второй видоизмененный вариант: видоизмененный вариант кодирования номера режима кодирования)
Кодирование номеров режимов кодирования может выполняться не только согласно схеме CABAC, но также и согласно схеме CAVLC. Ниже приведено описание способа кодирования согласно схеме CAVLC со ссылкой на фиг.8, 9A и 9B. На фиг.8 изображена схема последовательности операций способа кодирования согласно схеме CAVLC. На фиг.9A показан пример кодовой таблицы, когда максимальное количество режимов (общее количество режимов внутрикадрового предсказания) равно 17. На фиг.9B показан пример кодовой таблицы, когда максимальное количество режимов равно 34.
Блок 110 управления кодированием получает номер режима кодирования (этап S501), например, согласно способу, показанному на фиг.3, и выбирает таблицу переменной длины (не показана), соответствующую максимальному количеству режимов (этап S502). Это означает, что в том случае, когда, например, максимальное количество режимов изменяется в зависимости от размера блока кодирования (например, 17 режимов для блока кодирования, имеющего размер 4×4, и 34 режима для блока кодирования, имеющего размер 8×8 или более), выбирают таблицу переменной длины, соответствующую размеру блока кодирования.
Согласно первому варианту осуществления изобретения достаточно использовать таблицу переменной длины одного типа для каждого блока кодирования; и, следовательно, объем памяти, необходимый для устройства кодирования, может быть уменьшен.
Блок 110 управления кодированием извлекает номер индекса кодирования из номера режима кодирования с использованием выбранной таблицы переменной длины (этап S503). Таблицу переменной длины обновляют для каждого блока, большого блока или вырезки так, что индекс кодирования уменьшается с увеличением частоты встречаемости номера режима кодирования. Таким образом, процедуру кодирования переменной длины, описание которой приведено ниже, выполняют так, что длина кода уменьшается при уменьшении номера индекса кодирования.
Наконец, блок 110 управления кодированием кодирует извлеченный номер индекса кодирования с использованием предварительно заданной кодовой таблицы (этап S504).
В процедуре, показанной на фиг.2, установление флага использования режима предсказания (этап S207) и кодирование номера режима кодирования (этап 209) выполняют по отдельности. Однако здесь приведен пример случая, когда номер режима кодирования кодируют так, что он включает в себя флаг режима предсказания в схеме CAVLC.
На фиг.9A и 9B MPM1 указывает случай, когда режим предсказания использует флаг = 1, и номер возможного варианта режима предсказания равен 0. В этом случае MPM1 имеет код "10". MPM2 указывает случай, когда режим предсказания использует флаг = 1, и номер возможного варианта режима предсказания равен 0. В этом случае MPM2 имеет код "11". Последующие номера слева с 0 по 14 (соответствующие 15 режимам, полученным путем вычитания 2 режимов из 17 режимов, поскольку в этом примере количество возможных вариантов режима внутрикадрового предсказания равно двум) и с 0 до 31 (соответствующие 32 режимам, полученным путем вычитания 2 режимов из 34 режимов, поскольку в этом примере количество возможных вариантов режима внутрикадрового предсказания равно двум) указывают номера режимов кодирования, извлеченные на этапе S503. Коды справа указывают строки кода, записанные в потоки битов.
Этот способ позволяет закодировать информацию о всех режимах посредством одного и того же механизма, что приводит к уменьшению необходимого объема памяти.
Одним и тем же самым образом, как и в последовательности операций, показанной на фиг.2, флаг использования режима предсказания и номер режима кодирования могут быть закодированы по отдельности. В этом случае, когда код для MPM1 равен 1 и флаг использования режима предсказания равен 1, для номера режима предсказания может быть закодирован однобитовый индекс.
Для кодирования согласно схеме CAVCL может быть реализовано обращение к таблице кодирования переменной длины (vlc), совместно используемой для флага использования режима предсказания (prev_intra_luma_pred_flag), номера возможного варианта режима предсказания (mpm_idx) и номера режима кодирования (rem_intra_luma_pred_mode).
Второй вариант осуществления изобретения
Со ссылкой на фиг.10-15 приведены описания способа декодирования изображений и устройства декодирования изображений, выполняющего способ декодирования изображений согласно второму варианту осуществления изобретения.
В способе декодирования изображений согласно второму варианту осуществления изобретения выполняют арифметическое декодирование с использованием только лишь результата выполнения арифметического декодирования потока битов целевого блока декодирования. В процедуре арифметического декодирования может восстанавливаться объем информации от 1 бита до нескольких битов, что затрудняет надежное обеспечение объема буфера и выполнение обработки данных в реальном времени. Однако в способе декодирования изображений согласно второму варианту осуществления изобретения не используется информация из других целевых блоков декодирования, что приводит к уменьшению объема внутренней памяти, необходимого для вычисления, и к уменьшению времени обработки.
2-1. Конфигурация устройства декодирования изображений
Со ссылкой на фиг.10 приведено описание конфигурации устройства декодирования изображений согласно второму варианту осуществления изобретения. На фиг.10 изображена блок-схема, на которой проиллюстрирована конфигурация устройства 200 декодирования изображений.
Устройство 200 декодирования изображений представляет собой устройство, принимающее на входе поток битов (bitStr) и выводящее сигнал изображения. В изобретении приведен пример случая, в котором подаваемый на вход поток битов (bitStr) сгенерирован способом кодирования изображений согласно первому варианту осуществления изобретения. Для этого потока битов, в который записана строка кода, показанная на фиг.9A или 9B, следуя определению синтаксиса блока предсказания слева направо на фиг.9A или 9B в отношении структуры данных, выполняют декодирование правой части переменной длины (этап S1117), получают "номер режима кодирования" (rem_intra_luma_pred_mode) (этап S1115) и получают "номер целевого режима".
Устройство 200 декодирования изображений включает в себя: блок 220 декодирования переменной длины, блок 201 обратного квантования, блок 202 обратного преобразования, блок суммирования, который суммирует предыдущее предсказанное изображение и разностное изображение, блок 204 межкадрового предсказания, который генерирует предсказанное изображение путем межкадрового предсказания, блок 205 внутрикадрового предсказания, который генерирует предсказанное изображение путем внутрикадрового предсказания, блок 206 переключения, который производит избирательный вывод предсказанного изображения из блока 204 межкадрового предсказания и предсказанного изображения из блока 205 внутрикадрового предсказания, блок 210 управления и т.д.
Блок 220 декодирования переменной длины выполняет операции, обратные операциям, которые выполняет блок 120 кодирования переменной длины. Другими словами, блок 220 декодирования переменной длины принимает входной поток битов и получает "номер режима кодирования" и т.д. из этого потока битов в соответствии с количеством возможных вариантов для режима внутрикадрового предсказания (NumMPMCand). Кроме того, блок 220 декодирования переменной длины получает "номер целевого режима" из "номера режима кодирования".
Блок 205 внутрикадрового предсказания выполняет приблизительно те же самые операции, что и операции, которые выполняет блок 108 внутрикадрового предсказания, показанный на фиг.1. Согласно полученному "номеру целевого режима" блок 205 внутрикадрового предсказания предсказывает значение пикселя текущего целевого блока декодирования с использованием предсказанного пикселя, расположенного в направлении, заданном режимом внутрикадрового предсказания, который соответствует номеру целевого режима.
Блок 210 управления подает информацию, необходимую для получения номера целевого режима, в блок 220 декодирования переменной длины. Необходимой информацией в способе декодирования согласно изобретению может являться любая информация для воспроизведения "номера целевого режима" из выходного потока битов в результате кодирования согласно первому варианту осуществления изобретения. Например, когда блок 220 декодирования переменной длины не хранит такую информацию, то в него подают массив режимов предсказания (candModeList) для целевого блока декодирования (или начальное значение из этого перечня). В дополнение к этому предоставляют информацию о режиме энтропийного декодирования (например, выходную строку битов согласно схеме CAVLC или выходную строку битов согласно схеме CABAC) для каждого предварительно заданного блока, соответствующего текущему целевому блоку декодирования.
2-2. Порядок выполнения способа декодирования изображений
Со ссылкой на фиг.11 приведено описание способа декодирования изображений согласно второму варианту осуществления изобретения. На фиг.11 изображена схема последовательности операций способа декодирования "номера целевого режима" (34 режимов внутрикадрового предсказания, показанных на фиг.15), выполняемых устройством декодирования изображений, показанным на фиг.10. Во втором варианте осуществления изобретения приведено описание примера, в котором каждый этап выполняется блоком 220 декодирования переменной длины; однако каждый этап может выполняться, например, блоком 210 управления.
Сначала блок 220 декодирования переменной длины извлекает участок, соответствующий информации о режиме целевого блока декодирования, из потока битов (bitStr), закодированного способом кодирования согласно первому варианту осуществления изобретения. Соответствующий участок представляет собой строку битов, полученную путем выполнения энтропийного кодирования одного из следующих элементов: (1) "флага использования режима предсказания" (prev_intra_luma_pred_flag), (2) "номера возможного варианта режима предсказания" (mpm_idx) и (3) "номера режима кодирования" (rem_intra_luma_pred_mode), которые имеют структуру согласно синтаксису (синтаксису блока предсказания), объясненному со ссылкой на фиг.6A и 6B.
После получения строки битов блок 220 декодирования переменной длины декодирует строку битов согласно синтаксису, показанному на фиг.6A или 6B, для получения "номера целевого режима" (этапы S1103-S1115).
Блок 220 декодирования переменной длины сначала восстанавливает значение "флага использования режима предсказания" (prev_intra_luma_pred_flag) согласно предварительно заданному способу энтропийного декодирования (этап S1103). В дальнейшем, если не приведено особых объяснений, то приведенные ниже описания, слова в схемах и величины имеют тот же самый смысл, что и в способе кодирования согласно первому варианту осуществления изобретения и описаниям синтаксиса на фиг.6A и 6B.
Блок 220 декодирования переменной длины определяет, указывает ли декодированный флаг использования режима предсказания значение, равное 1, или нет (этап S1105).
В случае результата "ДА" на этапе S1105 (когда значение "флага использования режима предсказания" равно 1) блок 220 декодирования переменной длины декодирует "номер возможного варианта режима предсказания" (mpm_idx) (этап S1109).
В частности, блок 220 декодирования переменной длины генерирует массив режимов предсказания (candModeList) и определяет в качестве "номера целевого режима" значение (candModeList [mpm_idx] элемента, имеющего номер элемента, равный mpm_idx, из массива режимов предсказания (candModeList) (этап S1111). Для генерации массива режимов предсказания может использоваться способ, описанный со ссылкой на фиг.4 или 7 согласно первому варианту осуществления изобретения. Предполагают, что в устройстве кодирования и в устройстве декодирования используется один и тот же способ генерации массива режимов предсказания.
В случае результата "НЕТ" на этапе S1105 (когда значение "флага использования режима предсказания" не равно 1) блок 220 декодирования переменной длины выполняет энтропийное декодирование номера режима кодирования. В частности, блок 220 декодирования переменной длины сначала получает номер режима кодирования из строки битов в соответствии с общим количеством режимов внутрикадрового предсказания (максимальным количеством режимов) (этап S1117). Эта процедура получения является обратной процедуре, выполняемой на этапе S217, показанном на фиг.2. Выполнены различные процедуры в зависимости от того, выведена ли соответствующая строка битов (1) согласно схеме CABAC (фиг.5) или (2) согласно схеме CAVLC (фиг.8) в качестве схемы энтропийного кодирования. Схему энтропийного кодирования определяют, например, на основании значения, указанного флагом режима энтропийного кодирования для предварительно заданного блока, соответствующего блоку предсказания (PU), соответствующего целевому блоку декодирования. Флаг может быть идентифицирован в более высоком блоке последовательности.
Сначала со ссылкой на фиг.12A приведено описание случая, в котором строку битов выводят согласно (1) схеме CABAC. На фиг.12A изображена схема последовательности операций, выполняемых в процедуре арифметического декодирования, соответствующей этапу S1117 на фиг.11.
Блок 220 декодирования переменной длины сначала выполняет арифметическое декодирование полученного потока битов (этап S1401, обратный этапу S703). Блок 220 декодирования переменной длины выполняет процедуру мультиплексирования значений двоичной информации, полученных путем арифметического декодирования, для восстановления номера режима кодирования (этап S1402).
Затем со ссылкой на фиг.13 приведено описание случая, в котором строку битов выводят согласно (2) схеме CAVLC. На фиг.13 изображена схема последовательности операций способа получения "номера режима кодирования" на этапе S1117, когда вывод строки битов производят согласно схеме CAVLC.
Блок 220 декодирования переменной длины сначала получает номер индекса кодирования из строки битов с использованием информации, необходимой (контекста, необходимого) для декодирования "номера режима кодирования" целевого блока декодирования (PU) (этап S1201). Процедура декодирования соответствует процедуре, которая является обратной процедуре кодирования на этапе S504, показанном на фиг.8. В частности, выбирают таблицу кодирования переменной длины (декодирования переменной длины), показанную на фиг.9A или 9B, в соответствии с максимальным количеством режимов (например, 17 режимов или 34 режимов в зависимости от блока передачи предсказанной информации, описанного в первом варианте осуществления изобретения). Из строк битов в выбранной таблице кодирования переменной длины производят поиск той строки битов, которая соответствует входному потоку битов (строки битов, показанной на правой стороне на фиг.9A или 9B), и получают номер индекса кодирования (соответствующий номеру, показанному на левой стороне на фиг.9A или 9B), который соответствует этой строке битов.
Затем блок 220 декодирования переменной длины выбирает различные таблицы переменной длины для каждого максимального количества режимов способом, аналогичным описанному выше (этап S1202, являющийся тем же самым, что и этап S502, не показан), и извлекает номер режима кодирования, соответствующий полученному индексу кодирования, с использованием выбранной таблицы переменной длины (этап S1203, на котором выполняют обработку, обратную обработке на этапе S503). Таблицу переменной длины обновляют для каждого блока, большого блока или вырезки так, что номер индекса кодирования уменьшается с увеличением частоты встречаемости номера режима кодирования. Обновление выполняют согласно способу, предварительно заданному для обоих устройств: устройства кодирования и устройства декодирования; и, следовательно, предусмотрено, что для кодирования целевого блока кодирования и для декодирования целевого блока декодирования используют одну и ту же таблицу переменной длины. Согласно этой обработке, восстанавливают номер режима кодирования.
Затем восстанавливают номер целевого режима по номеру режима кодирования (этап S1115, на котором выполняют обработку, обратную обработке на этапе S215, показанном на фиг.2). На фиг.14 изображена схема последовательности операций, выполняемых в процедуре восстановления номера целевого режима по номеру режима кодирования.
Как показано на фиг.14, блок 220 декодирования переменной длины получает "номер целевого режима" из "номера режима кодирования", полученного на этапе S1117. Соответствующие этапы на фиг.14 выполняются как этапы, обратные этапам получения "номера режима кодирования" из "номера целевого режима", которые показаны на фиг.3.
Блок 220 декодирования переменной длины сначала получает количество возможных вариантов режима внутрикадрового предсказания (NumMPMCand) (этап S1301). Во втором варианте осуществления изобретения количество возможных вариантов режима внутрикадрового предсказания также равно двум, то есть является фиксированным количеством, как и в первом варианте осуществления изобретения.
Затем блок 220 декодирования переменной длины повторяет цикл, указанный как этапы S1302-S1307, такое количество раз, которое определяется количеством возможных вариантов режима внутрикадрового предсказания (NumMPMCand). Во втором варианте осуществления изобретения количество возможных вариантов режима внутрикадрового предсказания (NumMPMCand) равно двум; и, следовательно, этап S1303 (и этап S1305) выполняют всего дважды, когда значения индексов равны 0 и 1. Когда количество возможных вариантов режима предсказания равно N, то этап S1303 (и этап S1305 в зависимости от результата определения на этапе S1303) выполняют N раз.
На этапе S1302 индекс candIdx возможного варианта (соответствующий индексу на фиг.14) устанавливают равным 0.
На этапе S1303 текущий номер режима кодирования сравнивают со значением элемента, заданного значением индекса candIdx возможного варианта из массива режимов предсказания (CandModeList) (значение candModeList[candIdx]). Когда индекс = 0, то номером режима кодирования является номер режима кодирования в момент получения на этапе S1117.
В случае результата "ДА" на этапе S1303 (когда удовлетворяется условие: номер режима кодирования ≥ значения candModeList[candIdx]) выполняют приращение номера режима кодирования на 1 (этап S1305). Здесь также выполняют приращение номера режима кодирования на 1 в том случае, когда текущий номер режима кодирования является тем же самым, что и значение candModeList[candIdx] из массива режимов предсказания. Цикл с этапа S1302 по этап S1307 повторяют с одновременным приращением номера индекса candIdx возможного варианта на 1 до тех пор, пока не будет закончено сравнение для всех возможных вариантов.
Посредством такой обработки номер режима кодирования восстанавливают с преобразованием его в номер целевого режима в соответствии с количеством возможных вариантов режима внутрикадрового предсказания. Здесь восстановление "номера целевого режима" из "номера режима кодирования" в соответствии с количеством возможных вариантов режима внутрикадрового предсказания является эквивалентным выполнению процедуры в таблице 1 с самой нижней строки до самой верхней строки.
Например, когда количество возможных вариантов режима внутрикадрового предсказания (значение NumMPMCand) равно 2, то взаимосвязи между номерами режимов кодирования и номерами целевых режимов являются такими, как показано в таблице 2. Эта таблица приведена для объяснения приведенного в качестве примера случая, в котором предполагают, что значение первого элемента (имеющего индекс 0) из массива режимов предсказания равно "i", и предполагают, что значение второго элемента (имеющего индекс 1) из массива режимов предсказания равно "j".
Таблица 2
(d) Номер режима кодирования (0... 31)
0
1
i (candModeList[0])
j (candModeList[1])
…
30
31
S1105
0
0
0
+1
+1
+1
+1
+1
+1
S1105
0
0
0
0
0
+1
+1
+1
+1
(a) Номер режима декодирования (0... 33)
0
1
…
Не является необходимым (candModeList[0])
Не является необходимым (candModeList[1])
…
32
33
Таким образом, устройство декодирования и способ декодирования согласно второму варианту осуществления изобретения переключают в соответствии с количеством возможных вариантов режима внутрикадрового предсказания (или на основании количества возможных вариантов режима внутрикадрового предсказания), взаимосвязи между CodeNum и "номерами режимов кодирования" в схеме CAVLD и взаимосвязи с "номерами режимов кодирования" из двоичных массивов в схеме CABAC (этап S1117). Кроме того, взаимосвязи между номерами режимов кодирования и номерами целевых режимов переключают в соответствии с количеством возможных вариантов режима внутрикадрового предсказания (этап S1115).
При такой конфигурации согласно первому варианту осуществления изобретения обеспечена возможность восстановления исходного "номера целевого режима" из потока битов, сгенерированного путем переключения схем кодирования номера целевого режима в соответствии с количеством возможных вариантов режима внутрикадрового предсказания, с более высокой эффективностью кодирования.
Как описано выше, в устройстве декодирования изображений и в способе декодирования изображений согласно изобретению количество возможных вариантов режима внутрикадрового предсказания зафиксировано равным двум или более; и, следовательно, возможно выполнять арифметическое декодирование без необходимости условного ветвления для определения того, является ли количество возможных вариантов режима внутрикадрового предсказания равным одному или нет.
На фиг.12B изображена концептуальная схема, на которой проиллюстрирован пример последовательности операций процедуры арифметического декодирования, выполняемой в устройстве декодирования изображений. Как описано выше, при арифметическом декодировании объем информации в декодированном сигнале (параметр декодирования) для получения длины в битах определяется по арифметическому показателю; и, следовательно, объем информации является неопределенным. Для обработки данных в реальном времени необходимы вычисления с высокой скоростью. Как показано на фиг.12B, при обработке декодирования может часто выполняться параллельная арифметика. В параллельной арифметике этап S1410 энтропийного декодирования, на котором выполняют арифметическое декодирование полученного потока битов в соответствии с предварительно заданным способом (CABAC или CAVLC) (этап S1411) и получают параметр декодирования (этап S1412), выполняют отдельно от этапа обработки при декодировании (этап S1413), где предсказанное изображение генерируют на основании параметра декодирования для получения декодированного сигнала изображения. Здесь информацию о декодировании, необходимую для этапа S1411 арифметического декодирования, получают из информации, передаваемой по обратной связи на этапе S1413.
На этапе S1410 энтропийного декодирования необходимо ожидать результата этапа S1413 обработки при декодировании, что не позволяет реализовать вычисления с высокой скоростью. Следовательно, уменьшение объема информации, передаваемой по обратной связи, является особо важным для вычислений с высокой скоростью.
Как показано на фиг.11, устройство декодирования изображений согласно второму варианту осуществления изобретения всегда вызывает этап декодирования номера возможного варианта режима предсказания (этап S1109), когда флаг использования режима предсказания указывает 1 (сигнал, декодированный на этапе энтропийного декодирования) ("ДА" на этапе S1105); и, следовательно, отсутствует необходимость в ожидании завершения обработки при декодировании (этап S1413).
С другой стороны, в обычной структуре синтаксиса, показанной на фиг.6A, необходимо определять количество режимов предсказания (NumMPMCand). Как описано выше, для определения необходимо использовать номера целевых режимов соседних блоков сверху и слева. Таким образом, необходимо ожидать завершения этапа обработки при декодировании S1413. Следовательно, конфигурация согласно изобретению увеличивает скорость обработки устройством декодирования.
Видоизмененный вариант первого варианта осуществления изобретения и второго варианта осуществления изобретения
(1) Каждый из блоков: блок 110 управления кодированием, показанный на фиг.1, и блок 210 управления, показанный на фиг.10, показан связанным с другими блоками обработки, что необходимо для объяснения только лишь ввода информации в блок 110 управления кодированием или в блок 210 управления кодированием и ее вывода из них. Однако блок 110 управления кодированием и блок 210 управления могут вводить и выводить информацию, необходимую для других блоков обработки, по линиям передачи сигналов, которые не показаны. Можно полагать, что блок управления кодированием или блок управления представляют собой контроллер для управления обработкой, выполняемой каждым из блоков обработки.
(2) Были описаны 34 номера целевых режимов кодирования с примером 34 режимов, включающих в себя 33 направления и один без направления, которые показаны на фиг.15. Однако те же самые полезные эффекты могут быть получены даже в том случае, когда количество режимов изменяется в зависимости от глубины уровней (L0-L3), показанных на фиг.15.
Например, когда количество возможных вариантов режима внутрикадрового предсказания равно (2 в степени n)+k, то номер режима кодирования (rem_intra_luma_pred_mode) может быть выражен n битами или n+1 битами.
При такой конфигурации устройства декодирования структура синтаксиса, показанная на фиг.6A и 6B, может быть декодирована надлежащим образом. Кроме того, как показано на фиг.12B, при арифметическом декодировании тот случай, когда количество возможных вариантов режима внутрикадрового предсказания равно одному, определяют путем простого выполнения обработки при декодировании. Следовательно, отсутствует необходимость в получении номеров целевых режимов соседних блоков для сравнения. В результате, может быть обеспечено высокоскоростное и точное декодирование с меньшим объемом памяти.
Третий вариант осуществления изобретения
Обработка, описанная в каждом из вариантов осуществления изобретения, может быть легко реализована в независимой компьютерной системе путем записи на носитель записи программы для реализации конфигураций способа кодирования движущихся изображений (способа кодирования изображений) и способа декодирования движущихся изображений (способа декодирования изображений), описанных в каждом из вариантов осуществления изобретения. Носителями записи могут являться любые носители записи при условии, что на них может быть записана программа, такие как, например, магнитный диск, оптический диск, магнитный оптический диск, карта с интегральной схемой (IC) и полупроводниковое запоминающее устройство.
Ниже приведено описание применений способа кодирования движущихся изображений (способа кодирования изображений) и способа декодирования движущихся изображений (способа декодирования изображений), описанных в каждом из вариантов осуществления изобретения, и систем, в которых их используют. Система имеет признак наличия устройства кодирования и декодирования изображений, которое включает в себя устройство кодирования изображений, в котором используют способ кодирования изображений, и устройство декодирования изображений, в котором используют способ декодирования изображений. Остальные конфигурации в системе могут быть изменены соответствующим образом в зависимости от обстоятельств.
На фиг.16 проиллюстрирована общая конфигурация системы ex100 предоставления контента для реализации услуг распространения контента. Область предоставления услуг связи разделена на соты желательного размера, и в каждой из сот размещены базовые станции ex106, ex107, ex108, ex109 и ex110, являющиеся стационарными станциями беспроводной связи.
Система ex100 предоставления контента соединена с такими устройствами, как, например, компьютер ex111, персональное цифровое информационное устройство (PDA) ex112, камера ex113, сотовый телефон ex114 и игровое устройство ex115, через сеть ex101 Интернет, поставщика ex102 услуг сети Интернет, телефонную сеть ex104, а также через соответствующие базовые станции ex106-ex110.
Однако конфигурация системы ex100 предоставления контента не ограничена конфигурацией, показанной на фиг.16, и приемлемой является комбинация, в которой подключен любой из этих компонентов. Кроме того, каждое устройство может быть соединено с телефонной сетью ex104 напрямую, а не через базовые станции ex106-ex110, которые являются стационарными станциями беспроводной связи. Кроме того, устройства могут быть связаны друг с другом посредством ближней беспроводной связи и иных средств связи.
Камера ex113, такая как, например, цифровая видеокамера, способна захватывать видео. Камера ex116, такая как, например, цифровая камера, способна захватывать как неподвижные изображения, так и видео. Кроме того, сотовый телефон ex114 может представлять собой устройство, удовлетворяющее требованиям любого из стандартов, таких как, например, Глобальная система мобильной связи (GSM) (зарегистрированный товарный знак), множественный доступ с кодовым разделением (CDMA), широкополосный множественный доступ с кодовым разделением (W-CDMA), стандарт "долгосрочная эволюция" (LTE) и высокоскоростной пакетный доступ (HSPA). В альтернативном варианте сотовым телефоном ex114 может являться телефон системы персональной телефонной связи (PHS).
В системе ex100 предоставления контента сервер ex103 потоковой передачи соединен с камерой ex113 и с другими компонентами через телефонную сеть ex104 и базовую станцию ex109, которая обеспечивает возможность распространения изображений представлений в прямом эфире и иных изображений. При таком распространении контент (например, видео музыкального представления в прямом эфире), захваченный пользователем с использованием камеры ex113, кодируют так, как описано выше в каждом из вариантов осуществления изобретения (то есть камера функционирует в качестве устройства кодирования изображений согласно объекту изобретения), и закодированный контент передают в сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи выполняет потоковое распространение данных переданного контента клиентам по их запросам. Клиентами являются, в том числе, компьютер ex111, PDA ex112, камера ex113, сотовый телефон ex114 и игровое устройство ex115, которые способны декодировать вышеупомянутые закодированные данные. Каждое из устройств, принявших распространяемые данные, декодирует и воспроизводит закодированные данные (то есть функционирует в качестве устройства декодирования изображений согласно объекту изобретения).
Захваченные данные могут быть закодированы камерой ex113 или сервером ex103 потоковой передачи, который передает эти данные, или процедуры кодирования могут быть распределены между камерой ex113 и сервером ex103 потоковой передачи. Аналогичным образом, декодирование распространяемых данных могут осуществлять клиенты или сервер ex103 потоковой передачи, или процедуры декодирования могут быть распределены между клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и видео, захваченных не только камерой ex113, но также и камерой ex116, могут быть переданы в сервер ex103 потоковой передачи через компьютер ex111. Процедуры кодирования могут выполняться камерой ex116, компьютером ex111 или сервером ex103 потоковой передачи или могут быть распределены между ними.
Кроме того, процедуры кодирования и декодирования могут выполняться схемой LSI ex500, обычно содержащейся в каждом компьютере ex111 и в каждом из устройств. LSI ex500 может иметь однокристальную или многокристальную конфигурацию. Программное обеспечение для кодирования и декодирования видео может быть встроенным в носитель записи какого-либо типа (например, в CD-ROM, в гибкий диск и в жесткий диск), считываемый посредством компьютера ex111 и других устройств, и процедуры кодирования и декодирования могут быть выполнены с использованием этого программного обеспечения. Кроме того, когда сотовый телефон ex114 оснащен камерой, видеоданные, полученные камерой, могут быть переданы. Видеоданными являются данные, закодированные схемой LSI ex500, содержащейся в сотовом телефоне ex114.
Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров и может децентрализовывать данные и выполнять обработку децентрализованных данных, запись или распространение данных.
Как описано выше, в системе ex100 предоставления контента клиенты могут принимать и воспроизводить данные. Другими словами, в системе ex100 предоставления контента клиенты могут принимать и декодировать информацию, переданную пользователем, и воспроизводить декодированные данные в реальном времени таким образом, что пользователь, не имеющий особых прав и конкретного оборудования, может реализовывать персональное вещание.
Помимо системы ex100 предоставления контента, по меньшей мере, одно из устройств: устройство кодирования движущихся изображений (устройство кодирования изображений) и устройство декодирования движущихся изображений (устройство декодирования изображений), описанных в каждом из вариантов осуществления изобретения, может быть реализовано в системе ex200 цифрового вещания, проиллюстрированной на фиг.17. В частности, вещательная станция ex201 сообщает или передает посредством радиоволн на вещательный спутник ex202 мультиплексированные данные, полученные путем мультиплексирования звуковых и иных данных в видеоданные. Видеоданными являются данные, закодированные способом кодирования движущихся изображений, описанным в каждом из вариантов осуществления изобретения (то есть данные закодированы устройством кодирования изображений согласно объекту изобретения). После приема мультиплексированных данных вещательный спутник ex202 передает радиоволны для вещания. Затем эти радиоволны принимает бытовая антенна ex204 с функцией приема спутникового вещания. Затем устройство, такое как, например, телевизор (приемник) ex300 и компьютерная приставка ex217 к телевизору (STB), декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (то есть функционирует в качестве устройства декодирования изображений согласно объекту изобретения).
Кроме того, устройство считывания/записи ex218 (i) считывает и декодирует мультиплексированные данные, записанные на носителе ex215 записи, таком как, например, DVD и BD, или (i) кодирует видеосигналы на носителе ex215 записи и в некоторых случаях записывает данные, полученные путем мультиплексирования звукового сигнала с закодированными данными. Устройство ex218 считывания/записи может включать в себя устройство декодирования движущихся изображений или устройство кодирования движущихся изображений, показанное в каждом из вариантов осуществления изобретения. В этом случае воспроизведенные видеосигналы отображают на мониторе ex219, и они могут воспроизводиться другим устройством или другой системой с использованием носителя ex215 записи, на котором записаны мультиплексированные данные. Также устройство декодирования движущихся изображений может быть реализовано в компьютерной приставке ex217 к телевизору, подключенной к кабелю ex203 для кабельного телевидения или к антенне ex204 для спутникового и/или наземного вещания, для отображения видеосигналов на мониторе ex219 телевизора ex300. Устройство декодирования движущихся изображений может быть реализовано не в компьютерной приставке к телевизору, а в телевизоре ex300.
На фиг.18 проиллюстрирован телевизор (приемник) ex300, в котором используют способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в каждом из вариантов осуществления изобретения. Телевизор ex300 включает в себя: тюнер ex301, который получает или предоставляет мультиплексированные данные, полученные путем мультиплексирования звуковых данных в видеоданные, через антенну ex204 или кабель ex203 и т.д., принимающие широковещательные передачи; блок ex302 модуляции/демодуляции, который выполняет демодуляцию принятых мультиплексированных данных или модуляцию данных в мультиплексированные данные, подаваемые наружу; и блок ex303 мультиплексирования/демультиплексирования, который выполняет демультиплексирование модулированных мультиплексированных данных в видеоданные и звуковые данные или выполняет мультиплексирование видеоданных и звуковых данных, закодированных блоком ex306 обработки сигналов, в данные.
Телевизор 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 соединены друг с другом синхронной шиной.
Сначала приведено описание конфигурации, в которой телевизор ex300 декодирует мультиплексированные данные, полученные извне через антенну ex204 и иные устройства, и воспроизводит декодированные данные. В телевизоре ex300, после того как пользователем произведена операция посредством удаленного контроллера ex220 и т.п., блок ex303 мультиплексирования/демультиплексирования выполняет демультиплексирование мультиплексированных данных, демодулированных блоком ex302 модуляции/демодуляции, под управлением блока ex310 управления, включающего в себя центральный процессор (CPU). Кроме того, в телевизоре ex300 блок ex304 обработки звуковых сигналов декодирует демультиплексированные звуковые данные, а блок ex305 обработки видеосигналов декодирует демультиплексированные видеоданные с использованием способа декодирования, описанного в каждом из вариантов осуществления изобретения. Блок 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 мультиплексирования/демультиплексирования.
Кроме того, телевизор ex300 может включать в себя конфигурацию для приема аудиовизуального (AV) входного сигнала из микрофона или камеры помимо конфигурации для получения звуковых данных и видеоданных из широковещательной передачи или с носителя записи и может выполнять кодирование полученных данных. Несмотря на то, что в описании телевизор ex300 может выполнять кодирование, мультиплексирование и подачу данных наружу, он может быть способен выполнять только лишь прием, декодирование и подачу данных наружу, а не кодирование, мультиплексирование и подачу данных наружу.
Кроме того, когда устройство ex218 считывания/записи считывает мультиплексированные данные с носителя записи или записывает их на него, декодирование или кодирование мультиплексированных данных может выполнять одно из устройств, которыми являются телевизор ex300 и устройство ex218 считывания/записи, и декодирование или кодирование могут быть распределены между телевизором ex300 и устройством ex218 считывания/записи.
В качестве примера на фиг.19 проиллюстрирована конфигурация блока 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 управления системой включает в себя, например, микропроцессор и выполняет обработку, вызывая выполнение компьютером программы считывания и записи.
Несмотря на то, что в описании оптическая головка ex401 излучает пятно лазерного излучения, она может осуществлять запись с высокой плотностью с использованием светового излучения в ближней зоне.
На фиг.20 проиллюстрирован носитель ex215 записи, которым является оптический диск. На рабочей поверхности носителя ex215 направляющие дорожки расположены в форме спирали, и на информационной дорожке ex230 заранее записана информация об адресе, указывающая абсолютное положение на диске в соответствии с изменением формы направляющих дорожек. Информация об адресе включает в себя информацию для определения положений блоков ex231 записи, представляющую собой блок для записи данных. Воспроизведение информационной дорожки ex230 и считывание информации об адресе в устройстве, которое записывает и воспроизводит данные, может приводить к определению положений блоков записи. Кроме того, носитель ex215 записи включает в себя область ex233 записи данных, область ex232 внутренней окружности и область ex234 внешней окружности. Областью ex233 записи данных является область, используемая для записи данных пользователя. Область ex232 внутренней окружности и область ex234 внешней окружности, которые расположены соответственно внутри и снаружи области записи данных, предназначены для особого использования помимо записи данных пользователя. Блок ex400 воспроизведения/записи информации производит считывание закодированных звуковых, закодированных видеоданных или мультиплексированных данных, полученных путем мультиплексирования закодированных звуковых и видеоданных, из области ex233 записи данных носителя ex215 записи и их запись в эту область.
Несмотря на то, что в описании в качестве примера описан оптический диск, имеющий один слой, такой как, например, DVD и BD, оптический диск не ограничен этим вариантом, и им может являться оптический диск, имеющий многослойную структуру и способный обеспечивать запись в ином месте, чем поверхность. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, например записи информации с использованием цветного светового излучения с различными длинами волн в одном и том же участке оптического диска и для записи информации, имеющей различные слои под различными углами.
Кроме того, в системе ex200 цифрового вещания автомобиль ex210, имеющий антенну ex205, может принимать данные со спутника ex202 и т.п. и воспроизводить видео на дисплее, таком как, например, дисплей автомобильной навигационной системы ex211, установленной в автомобиле ex210. Здесь конфигурацией автомобильной навигационной системы ex211 является, например, конфигурация, включающая в себя приемник GPS из конфигурации, проиллюстрированной на фиг.18. То же самое утверждение справедливо и для конфигурации компьютера ex111, сотового телефона ex114 и т.п.
На фиг.21A проиллюстрирован сотовый телефон ex114, в котором используют способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в вариантах осуществления изобретения. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; блок ex365 камеры, способный захватывать подвижные и неподвижные изображения; и блок ex358 отображения, например жидкокристаллический дисплей, для визуального отображения данных, таких как, например, декодированного видео, захваченного блоком ex365 камеры или принятого антенной ex350. Сотовый телефон ex114 дополнительно включает в себя: блок основного корпуса, включающий в себя блок ex366 командных клавиш; блок ex357 вывода звука, например громкоговоритель, для вывода звука; блок ex356 ввода звука, например микрофон, для ввода звука; запоминающее устройство ex367 для хранения захваченного видео или неподвижных изображений, записанного звука, закодированных или декодированных данных принятого видео, принятых неподвижных изображений, сообщений электронной почты и т.п.; и блок ex364 щелевого разъема, представляющий собой блок интерфейса для носителя записи, на котором хранятся данные тем же самым образом, что и в запоминающем устройстве ex367.
Ниже приведено описание примера конфигурации сотового телефона ex114 со ссылкой на фиг.21B. В сотовом телефоне ex114 главный блок ex360 управления, предназначенный для полного управления каждым блоком из основного корпуса, который включает в себя блок ex358 отображения, а также блок ex366 командных клавиш, которые все вместе соединены синхронной шиной ex370 с блоком ex361 схемы источника питания, блоком ex362 управления вводом команд, блоком ex355 обработки видеосигналов, блоком ex363 интерфейса камеры, блоком ex359 управления жидкокристаллическим дисплеем (LCD), блоком ex352 модуляции/демодуляции, блоком ex353 мультиплексирования/демультиплексирования, блоком ex354 обработки звуковых сигналов, блоком ex364 щелевого разъема и с запоминающим устройством ex367.
Когда пользователем нажата клавиша "завершение вызова" или клавиша "включение питания", блок ex361 схемы источника питания подает в соответствующие блоки электропитание от аккумуляторного источника питания для включения сотового телефона ex114.
В сотовом телефоне ex114 блок ex354 обработки звуковых сигналов преобразовывает звуковые сигналы, собранные блоком ex356 ввода звука в режиме речевого разговора, в цифровые звуковые сигналы под управлением главного блока ex360 управления, включающего в себя CPU, ROM и RAM. Затем блок ex352 модуляции/демодуляции выполняет обработку цифровых звуковых сигналов с разнесением по спектру, и блок ex351 передачи и приема выполняет цифроаналоговое преобразование данных и преобразование их частоты для передачи полученных результирующих данных через антенну ex350. К тому же, в сотовом телефоне ex114 блок ex351 передачи и приема выполняет усиление данных, принятых антенной ex350 в речевом режиме разговора, и выполняет преобразование частоты и аналого-цифровое преобразование данных. Затем блок ex352 модуляции/демодуляции выполняет обращение обработки данных с разнесением по спектру, а блок ex354 обработки звуковых сигналов преобразовывает эти данные в аналоговые звуковые сигналы для их вывода через блок ex357 вывода звука.
Кроме того, когда передают сообщение электронной почты в режиме передачи данных, то текстовые данные сообщения электронной почты, введенные посредством блока ex366 командных клавиш и т.п. из основного корпуса, отсылают в главный блок ex360 управления через блок ex362 управления вводом команд. Главный блок ex360 управления вызывает выполнение блоком ex352 модуляции/демодуляции обработки текстовых данных с разнесением по спектру, и блок ex351 передачи и приема выполняет цифроаналоговое преобразование и преобразование частоты результирующих данных для передачи этих данных в базовую станцию ex110 через антенну ex350. Когда принято сообщение электронной почты, то выполняют такую обработку принятых данных, которая является приблизительно обратной обработке, выполняемой для передачи сообщения электронной почты, и полученные результирующие данные подают в блок ex358 отображения.
Когда видео, неподвижные изображения или видео и звук передаются в режиме передачи данных, блок ex355 обработки видеосигналов сжимает и кодирует видеосигналы, поданные из блока ex365 камеры, с использованием способа кодирования движущихся изображений, показанного в каждом из вариантов осуществления изобретения (то есть функционирует в качестве устройства кодирования изображений согласно объекту изобретения), и передает закодированные видеоданные в блок ex353 мультиплексирования/демультиплексирования. В отличие от этого во время захвата видео, неподвижных изображений и т.п. блоком ex365 камеры блок ex354 обработки звуковых сигналов кодирует звуковые сигналы, собранные блоком ex356 ввода звука, и передает закодированные звуковые данные в блок ex353 мультиплексирования/демультиплексирования.
Блок ex353 мультиплексирования/демультиплексирования выполняет мультиплексирование закодированных видеоданных, поданных из блока ex355 обработки видеосигналов, и закодированных звуковых данных, поданных из блока ex354 обработки звуковых сигналов, с использованием предварительно заданного способа. Затем блок ex352 модуляции/демодуляции (блок схемы модуляции/демодуляции) выполняет обработку мультиплексированных данных с разнесением по спектру, а блок ex351 передачи и приема выполняет цифроаналоговое преобразование и преобразование частоты данных для передачи результирующих данных через антенну ex350.
При приеме данных видеофайла, который связан с веб-страницей, и т.п. в режиме передачи данных или при приеме сообщения электронной почты с присоединенным видео и/или звуком для декодирования мультиплексированных данных, принятых через антенну ex350, блок ex353 мультиплексирования/демультиплексирования выполняет демультиплексирование мультиплексированных данных в поток битов видеоданных и в поток битов звуковых данных и подает закодированные видеоданные в блок ex355 обработки видеосигналов и закодированные звуковые данные в блок ex354 обработки звуковых сигналов через синхронную шину ex370. Блок ex355 обработки видеосигналов декодирует видеосигнал с использование способа декодирования движущихся изображений, соответствующего способу кодирования движущихся изображений, показанному в каждом из вариантов осуществления изобретения (то есть функционирует в качестве устройства декодирования изображений согласно объекту изобретения), а затем блок ex358 отображения осуществляет визуальное отображение, например, видео и неподвижных изображений, содержащихся в видеофайле, связанном с веб-страницей, посредством блока ex359 управления жидкокристаллическим дисплеем (LCD). Кроме того, блок ex354 обработки звуковых сигналов декодирует звуковой сигнал, а блок ex357 вывода звука выдает звук.
Кроме того, аналогично телевизору ex300 терминал, такой как, например, сотовый телефон ex114, вероятно, имеет 3 типа конфигураций его осуществления, в том числе не только (i) передающий и принимающий терминал, включающий в себя оба устройства: устройство кодирования и устройство декодирования, но также и (ii) передающий терминал, включающий в себя только лишь устройство кодирования, и (iii) принимающий терминал, включающий в себя только лишь устройство декодирования. Несмотря на то, что в описании система ex200 цифрового вещания принимает и передает мультиплексированные данные, полученные путем мультиплексирования звуковых данных с видеоданными, мультиплексированными данными могут являться данные, полученные путем мультиплексирования с видеоданными не звуковых данных, а символьных данных, связанных с видеоданными, и могут являться не мультиплексированные данные, а сами видеоданные.
Таким образом, в любом из описанных устройств и систем могут использоваться способ кодирования движущихся изображений и способ декодирования движущихся изображений из каждого из вариантов осуществления изобретения. Следовательно, могут быть получены преимущества, описанные в каждом из вариантов осуществления изобретения.
Кроме того, изобретение не ограничено этими вариантами его осуществления, и возможны различные видоизмененные и пересмотренные варианты, не выходящие за пределы объема изобретения.
Четвертый вариант осуществления изобретения
Видеоданные могут быть сгенерированы путем переключения, по мере необходимости, между (i) способом кодирования движущихся изображений или устройством кодирования движущихся изображений, показанными в каждом из вариантов осуществления изобретения, и (ii) способом кодирования движущихся изображений или устройством кодирования движущихся изображений согласно различным стандартам, таким как, например, стандарты MPEG-2, MPEG-4 AVC и VC-1.
При этом, когда генерируют и затем декодируют множество видеоданных, соответствующих различным стандартам, то способы декодирования необходимо выбирать так, чтобы они соответствовали различным стандартам. Однако, поскольку не может быть выявлено, какому стандарту соответствуют каждые из множества видеоданных, подлежащих декодированию, то существует проблема, состоящая в том, что подходящий способ декодирования не может быть выбран.
Для решения этой проблемы мультиплексированные данные, полученные путем мультиплексирования звуковых данных и т.п. с видеоданными, имеют структуру, включающую в себя идентификационную информацию, указывающую, какому стандарту соответствуют видеоданные. Ниже приведено описание конкретной структуры мультиплексированных данных, включающих в себя видеоданные, сгенерированные способом кодирования движущихся изображений и устройством кодирования движущихся изображений, которые показаны в каждом из вариантов осуществления изобретения. Мультиплексированные данные представляют собой цифровой поток в формате транспортного потока стандарта MPEG-2.
На фиг.22 проиллюстрирована структура мультиплексированных данных. Как проиллюстрировано на фиг.22, мультиплексированные данные могут быть получены путем мультиплексирования, по меньшей мере, одного из следующих потоков: потока видео, потока звука, потока презентационной графики (PG) и потока интерактивной графики. Поток видео представляет собой первичное видео и вторичное видео из кинофильма, поток звука (IG) представляет собой первичную часть звука и вторичную часть звука, подлежащую микшированию с первичной частью звука, а поток презентационной графики представляет собой субтитры кинофильма. Здесь первичным видео является обычное видео, подлежащее отображению на экране, а вторичным видео является видео, подлежащее отображению в меньшем окне в первичном видео. Кроме того, поток интерактивной графики представляет собой интерактивное содержимое экрана, подлежащее генерации путем размещения компонентов GUI на экране. Поток видео кодируют способом кодирования движущихся изображений или устройством кодирования движущихся изображений, которые показаны в каждом из вариантов осуществления изобретения, или способом кодирования движущихся изображений или устройством кодирования движущихся изображений согласно обычному стандарту, такому как, например, стандарт MPEG-2, MPEG-4 AVC и VC-1. Поток звука кодируют согласно такому стандарту, как, например, стандарт Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD и линейная PCM.
Каждый поток, содержащийся в мультиплексированных данных, идентифицируют по идентификатору процесса (PID). Например, 0x1011 назначен потоку видео, подлежащему использованию для видео кинофильма, 0x1100-0x111F назначены потокам звука, 0x1200-0x121F назначены потокам презентационной графики, 0x1400-0x141F назначены потокам интерактивной графики, 0x1B00-0x1B1F назначены потокам видео, используемым для вторичного видео из кинофильма, а 0x1A00-0x1A1F назначены потокам звука, используемым для вторичного звука, подлежащего микшированию с первичным звуком.
На фиг.23 схематично проиллюстрировано то, как выполняют мультиплексирование данных. Сначала поток ex235 видео, состоящий из видеокадров, и поток ex238 звука, состоящий из кадров звука, преобразовывают в поток PES-пакетов ex236 и в поток PES-пакетов ex239 и далее соответственно в TS-пакеты ex237 и в TS-пакеты ex240. Аналогичным образом данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразовывают в поток PES-пакетов ex242 и в поток PES-пакетов ex245 и далее соответственно в TS-пакеты ex243 и в TS-пакеты ex246. Эти TS-пакеты мультиплексируют в поток для получения мультиплексированных данных ex247.
На фиг.24 более подробно проиллюстрировано то, как хранится поток видео в потоке PES-пакетов. В первой полосе на фиг.24 показан поток видеокадров в потоке видео. Во второй полосе показан поток PES-пакетов. Как указано стрелками, обозначенными как yy1, yy2, yy3 и yy4 на фиг.24, поток видео разделен на изображения следующим образом: I-изображений, B-изображений и P-изображений, каждое из которых представляет собой блок видеопрезентации, и эти изображения хранятся в полезной нагрузке каждого из PES-пакетов. Каждый из PES-пакетов имеет заголовок PES, и в заголовке PES хранятся отметка времени презентации (PTS), указывающая момент времени вывода изображения на экран дисплея, и отметка времени декодирования (DTS), указывающая момент времени декодирования изображения.
На фиг.25 проиллюстрирован формат 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. Пакеты-источники расположены в мультиплексированных данных так, как показано в нижней части фиг.25. Номера, увеличивающиеся с головной части мультиплексированных данных, именуют номерами пакетов-источников (SPN).
Каждый из TS-пакетов, содержащихся в мультиплексированных данных, включает в себя не только потоки звука, видео, субтитров и т.п., но также и таблицу ассоциаций программ (PAT), таблицу состава программ (PMT) и ссылку на программные часы (PCR). PAT показывает то, что указывает PID в PMT, используемой в мультиплексированных данных, а PID самой PAT зарегистрирован равным нулю. В PMT хранятся идентификаторы PID потоков видео, звука, субтитров и т.п., содержащихся в мультиплексированных данных, и информация об атрибутах потоков, соответствующих идентификаторам PID. PMT также содержит различные дескрипторы, относящиеся к мультиплексированным данным. Эти дескрипторы содержат такую информацию, как, например, информация о защите от копирования, которая указывает, разрешено ли копирование мультиплексированных данных или нет. В PCR хранят информацию о моменте времени по системному таймеру (STC), соответствующем отметке времени поступления (ATS), которая указывает, когда пакет с PCR передан в декодер, для обеспечения синхронизации между таймером времени поступления (ATC), то есть осью времени ATS, и системным таймером (STC), то есть осью времени PTS и DTS.
На фиг.26 подробно проиллюстрирована структура данных PMT. Заголовок PMT расположен вверху PMT. Заголовок PMT описывает длину данных, содержащихся в PMT и т.п. После заголовка PMT расположено множество дескрипторов, относящихся к мультиплексированным данным. В дескрипторах описана такая информация, как, например, информация о защите от копирования. После дескрипторов расположено множество фрагментов информации о потоках, относящейся к потокам, содержащимся в мультиплексированных данных. Каждый фрагмент информации о потоках включает в себя дескрипторы потоков, каждый из которых описывает такую информацию, как, например, тип потока, для идентификации кодека сжатия потока, PID потока и информацию об атрибутах потока (например, о скорости передачи кадров или о соотношении сторон изображения). Количество дескрипторов потоков равно количеству потоков в мультиплексированных данных.
Когда мультиплексированные данные записывают на носитель записи и т.п., то их записывают вместе с файлами информации о мультиплексированных данных.
Как показано на фиг.27, каждый из файлов информации о мультиплексированных данных представляет собой административную информацию о мультиплексированных данных. Файлы информации о мультиплексированных данных находятся во взаимно-однозначном соответствии с мультиплексированными данными, и каждый из этих файлов включает в себя информацию о мультиплексированных данных, информацию об атрибутах потока и карту ввода.
Как проиллюстрировано на фиг.27, информация о мультиплексированных данных включает в себя информацию о скорости передачи в системе, о времени начала воспроизведения и о времени окончания воспроизведения. Скорость передачи в системе указывает максимальную скорость передачи, с которой целевой декодер системы, описание которого приведено ниже, передает мультиплексированные данные в фильтр PID. Интервалы ATS, содержащихся в мультиплексированных данных, установлены не превышающими скорость передачи в системе. Время начала воспроизведения указывает PTS в видеокадре в головной части мультиплексированных данных. К PTS в видеокадре в конце мультиплексированных данных добавляют интервал, равный продолжительности одного кадра, и PTS устанавливают соответствующим времени окончания воспроизведения.
Как показано на фиг.28, фрагмент информации об атрибутах зарегистрирован в информации об атрибутах потока для каждого PID каждого потока, содержащегося в мультиплексированных данных. Каждый фрагмент информации об атрибутах содержит различную информацию в зависимости от того, является ли соответствующий поток потоком видео, потоком звука, потоком презентационной графики или потоком интерактивной графики. Каждый фрагмент информации об атрибутах потока видео передает информацию, включающую в себя информацию о том, какой кодек сжатия используется для сжатия потока видео, и о разрешении, о соотношении сторон изображения и о скорости передачи кадров фрагментов данных об изображении, содержащихся в потоке видео. Каждый фрагмент информации об атрибутах потока звука передает информацию, включающую в себя информацию о том, какой кодек сжатия используется для сжатия потока звука, сколько каналов содержится в потоке звука, какой язык поддерживает поток звука, и о том, насколько высокой является частота дискретизации. Информацию об атрибутах потока видео и информацию об атрибутах потока звука используют для инициализации декодера до воспроизведения информации устройством воспроизведения.
В данном варианте осуществления изобретения используемыми мультиплексированными данными являются данные о типе потока, содержащиеся в PMT. Кроме того, когда мультиплексированные данные записаны на носителе записи, то используется информация об атрибутах потока видео, содержащаяся в информации о мультиплексированных данных. В частности, способ кодирования движущихся изображений или устройство кодирования движущихся изображений, описанные в каждом из вариантов осуществления изобретения, включают в себя этап или блок назначения уникальной информации, указывающей видеоданные, сгенерированные способом кодирования движущихся изображений или устройством кодирования движущихся изображений в каждом из вариантов осуществления изобретения, типу потока, информация о котором содержится в PMT или в информации об атрибутах потока видео. В этой конфигурации видеоданные, сгенерированные способом кодирования движущихся изображений или устройством кодирования движущихся изображений, которые описаны в каждом из вариантов осуществления изобретения, можно отличить от видеоданных, соответствующих иному стандарту.
Кроме того, на фиг.29 проиллюстрированы этапы способа декодирования движущихся изображений согласно данному варианту осуществления изобретения. На этапе exS100 из мультиплексированных данных получают информацию о типе потока, содержащуюся в PMT или в информации об атрибутах потока видео, содержащейся в информации о мультиплексированных данных. Затем на этапе exS101 определяют, указывает ли или нет информация о типе потока или информация об атрибутах потока видео то, что мультиплексированные данные сгенерированы способом кодирования движущихся изображений или устройством кодирования движущихся изображений согласно каждому из вариантов осуществления изобретения. Когда определено, что информация о типе потока или информация об атрибутах потока видео указывают то, что мультиплексированные данные сгенерированы способом кодирования движущихся изображений или устройством кодирования движущихся изображений согласно каждому из вариантов осуществления изобретения, то на этапе exS102 в каждом из вариантов осуществления изобретения выполняют декодирование способом декодирования движущихся изображений. Кроме того, когда информация о типе потока или информация об атрибутах потока видео указывают соответствие обычным стандартам, таким как, например, MPEG-2, MPEG-4 AVC и VC-1, то на этапе exS103 выполняют декодирование способом декодирования движущихся изображений в соответствии с обычными стандартами.
Таким образом, назначение нового уникального значения типу потока или информации об атрибутах потока видео обеспечивает возможность определения того, могут ли способ декодирования движущихся изображений или устройство декодирования движущихся изображений, описанные в каждом из вариантов осуществления изобретения, обеспечивать декодирование или нет. Надлежащий способ или устройство декодирования могут быть выбраны даже в случае ввода мультиплексированных данных, соответствующих иному стандарту. Таким образом, обеспечена возможность декодирования информации без каких-либо ошибок. Кроме того, способ или устройство кодирования движущихся изображений, или способ или устройство декодирования движущихся изображений согласно данному варианту осуществления изобретения могут использоваться в описанных выше устройствах и системах.
Пятый вариант осуществления изобретения
Каждый (каждое) из способа кодирования движущихся изображений, устройства кодирования движущихся изображений, способа декодирования движущихся изображений и устройства декодирования движущихся изображений в каждом из вариантов осуществления изобретения обычно реализован (реализовано) в виде интегральной схемы или большой интегральной схемы (LSI) с высокой степенью интеграции. В качестве примера LSI, на фиг.30 проиллюстрирована конфигурация однокристальной LSI ex500. LSI ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, описание которых приведено ниже, и эти элементы соединены друг с другом шиной ex510. Блок ex505 схемы источника питания приводят в действие путем подачи питания на каждый из элементов при включении блока ex505 схемы источника питания.
Например, при кодировании LSI ex500 принимает сигнал AV из микрофона ex117, камеры ex113 и т.п. через блок ex509 ввода-вывода AV под управлением блока ex501 управления, включающего в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока и блок ex512 управления задающей частотой. Принятый AV сигнал временно хранят во внешнем запоминающем устройстве ex511, которым является, например, SDRAM. Под управлением блока ex501 управления сохраненные данные сегментируют на фрагменты данных в соответствии с объемом обработки и скоростью для передачи в блок ex507 обработки сигналов. Затем блок ex507 обработки сигналов кодирует звуковой сигнал и/или видеосигнал. Здесь кодированием видеосигнала является кодирование, описанное в каждом из вариантов осуществления изобретения. Кроме того, блок ex507 обработки сигналов иногда выполняет мультиплексирование закодированных звуковых данных и закодированных видеоданных, и блок ex506 ввода-вывода потока подает мультиплексированные данные извне. Поданные мультиплексированные данные передают в базовую станцию ex107 или записывают на носитель ex215 записи. При мультиплексировании наборов данных необходимо обеспечивать временное хранение этих данных в буфере ex508 для синхронизации этих наборов данных друг с другом.
Несмотря на то, что запоминающее устройство ex511 является элементом, внешним относительно LSI ex500, оно может быть включено в состав LSI ex500. Буфер ex508 не ограничен одним буфером, но может состоять из нескольких буферов. Кроме того, LSI ex500 может быть выполнена в виде однокристальной схемы или многокристальной схемы.
Кроме того, несмотря на то, что блок ex501 управления включает в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока, блок ex512 управления задающей частотой, конфигурация блока ex501 управления не ограничена этим вариантом. Например, блок ex507 обработки сигналов может дополнительно включать в себя другой CPU. Включение другого CPU в состав блока ex507 обработки сигналов может повысить скорость обработки. Кроме того, в качестве другого примера CPU ex502 может служить в качестве блока ex507 обработки сигналов или являться его частью, и, например, может включать в себя блок обработки звуковых сигналов. В этом случае блок ex501 управления включает в себя блок ex507 обработки сигналов, или CPU ex502 включает в себя часть блока ex507 обработки сигналов.
Здесь использовано наименование LSI, но она также может именоваться IC, системной LSI, LSI со сверхвысокой степенью интеграции или LSI с ультравысокой степенью интеграции в зависимости от степени интеграции.
Кроме того, способы реализации степени интеграции не ограничены LSI, и степень интеграции также может быть достигнута посредством специализированной схемы или универсального процессора и т.п. С той же самой целью может использоваться программируемая пользователем вентильная матрица (FPGA), которая может быть запрограммирована после изготовления схем LSI, или реконфигурируемый процессор, который обеспечивает возможность реконфигурирования соединения или изменения конфигурации LSI.
В будущем, с развитием полупроводниковой технологии технология производства LSI может быть вытеснена совершенно новой технологией. Функциональные блоки могут быть объедены при использовании такой технологии. Имеется возможность применения изобретения для биотехнологии.
Шестой вариант осуществления изобретения
По сравнению со случаем декодирования видеоданных в соответствии с обычным стандартом, таким как, например, MPEG-2, MPEG-4 AVC и VC-1, при декодировании видеоданных, сгенерированных способом кодирования движущихся изображений или устройством кодирования движущихся изображений, которые описаны в каждом из вариантов осуществления изобретения, объем обработки может возрасти. Следовательно, задающая частота LSI ex500 должна быть установлена более высокой, чем задающая частота CPU ex502, используемая при декодировании видеоданных в соответствии с обычным стандартом. Однако, когда установлена более высокая задающая частота, возникает проблема, состоящая в увеличении энергопотребления.
Для решения этой проблемы устройство декодирования движущихся изображений, например телевизор ex300, и LSI ex500 сконфигурированы так, что определяют, какому стандарту соответствуют видеоданные, и переключаются между задающими частотами в соответствии с определенным стандартом. На фиг.31 проиллюстрирована конфигурация ex800 в данном варианте осуществления изобретения. Когда видеоданные сгенерированы способом кодирования движущихся изображений или устройством кодирования движущихся изображений, которые описаны в каждом из вариантов осуществления изобретения, блок ex803 переключения задающей частоты устанавливает задающую частоту равной более высокой задающей частоте. Затем блок ex803 переключения задающей частоты дает блоку ex801 обработки при декодировании, который выполняет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления изобретения, команду декодировать видеоданные. Когда видеоданные соответствуют обычному стандарту, блок ex803 переключения задающей частоты устанавливает задающую частоту, равной более низкой задающей частоте, чем задающая частота для видеоданных, сгенерированных способом кодирования движущихся изображений или устройством кодирования движущихся изображений, которые описаны в каждом из вариантов осуществления изобретения. Затем блок ex803 переключения задающей частоты дает блоку ex802 обработки при декодировании, который соответствует обычному стандарту, команду декодировать видеоданные.
В частности, блок ex803 переключения задающей частоты включает в себя CPU ex502 и блок ex512 управления задающей частотой по фиг.30. Здесь каждый из блоков: блок ex801 обработки при декодировании, который выполняет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления изобретения, и блок ex802 обработки при декодировании, который соответствует обычному стандарту, соответствует блоку ex507 обработки сигналов, показанному на фиг.30. CPU ex502 определяет, какому стандарту соответствуют видеоданные. Затем блок ex512 управления задающей частотой определяет задающую частоту на основании сигнала из CPU ex502. Кроме того, блок ex507 обработки сигналов декодирует видеоданные на основании сигнала из CPU ex502. Для идентификации видеоданных может использоваться, например, идентификационная информация, описанная в четвертом варианте осуществления изобретения. Идентификационная информация не ограничена описанной в четвертом варианте осуществления изобретения, но ею может являться любая информация при условии, что эта информация указывает, какому стандарту соответствуют видеоданные. Например, когда стандарт, которому соответствуют видеоданные, может быть определен на основании внешнего сигнала для определения того, что видеоданные используются для телевизора или диска и т.д., это определение может производиться на основании такого внешнего сигнала. Кроме того, CPU ex502 выбирает задающую частоту на основании, например, справочной таблицы, в которой стандарты видеоданных поставлены в соответствие задающим частотам, как показано на фиг.33. Задающая частота может быть выбрана путем сохранения справочной таблицы в буфере ex508 и во внутренней памяти LSI и путем обращения CPU ex502 к этой справочной таблице.
На фиг.32 проиллюстрированы этапы выполнения способа в данном варианте осуществления изобретения. Сначала на этапе exS200 блок ex507 обработки сигналов получает идентификационную информацию из мультиплексированных данных. Затем на этапе exS201 CPU ex502 определяет, являются ли или нет видеоданные сгенерированными способом кодирования и устройством кодирования, которые описаны в каждом из вариантов осуществления изобретения, на основании идентификационной информации. Когда видеоданные сгенерированы способом кодирования движущихся изображений и устройством кодирования движущихся изображений, которые описаны в каждом из вариантов осуществления изобретения, то на этапе exS202 CPU ex502 передает в блок ex512 управления задающей частотой сигнал установления задающей частоты, равной более высокой задающей частоте. Затем блок ex512 управления задающей частотой устанавливает задающую частоту, равной более высокой задающей частоте. С другой стороны, когда идентификационная информация указывает, что видеоданные соответствуют обычному стандарту, такому как, например, MPEG-2, MPEG-4 AVC и VC-1, то на этапе exS203 CPU ex502 передает в блок ex512 управления задающей частотой сигнал установления задающей частоты, равной более низкой задающей частоте. Затем блок ex512 управления задающей частотой устанавливает задающую частоту, равной более низкой задающей частоте, чем задающая частота в том случае, когда видеоданные сгенерированы способом кодирования движущихся изображений и устройством кодирования движущихся изображений, которые описаны в каждом варианте осуществления изобретения.
Кроме того, наряду с переключением задающих частот, эффект экономии энергопотребления может быть улучшен за счет изменения напряжения, приложенного к LSI ex500 или к устройству, содержащему LSI ex500. Например, когда задающая частота установлена более низкой, то напряжение, прикладываемое к LSI ex500 или к устройству, содержащему LSI ex500, может быть установлено равным более низкому напряжению, чем напряжение в том случае, когда установлена более высокая задающая частота.
Кроме того, в качестве способа установки задающей частоты при большем объеме обработки для декодирования может быть установлена более высокая задающая частота, а при меньшем объеме обработки для декодирования может быть установлена более низкая задающая частота. Следовательно, способ установки задающей частоты не ограничен описанными выше способами. Например, когда объем обработки для декодирования видеоданных в соответствии со стандартом MPEG-4 AVC превышает объем обработки для декодирования видеоданных, сгенерированных способом кодирования движущихся изображений и устройством кодирования движущихся изображений, которые описаны в каждом из вариантов осуществления изобретения, задающая частота может быть установлена в порядке, обратном описанному выше порядку ее установки.
Кроме того, способ установки задающей частоты не ограничен способом установки более низкой задающей частоты. Например, когда идентификационная информация указывает, что видеоданные сгенерированы способом кодирования движущихся изображений и устройством кодирования движущихся изображений, которые описаны в каждом из вариантов осуществления изобретения, то напряжение, прикладываемое к 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.
Соответственно эффект экономии энергопотребления может быть улучшен за счет переключения между задающими частотами в соответствии со стандартом, которому соответствуют видеоданные. Кроме того, когда LSI ex500 или устройство, содержащее LSI ex500, приводят в действие с использованием аккумулятора, время работы от аккумуляторной батареи может быть увеличено за счет эффекта экономии энергопотребления.
Седьмой вариант осуществления изобретения
Имеют место случаи, в которых в устройства и в системы, такие как, например, телевизор и сотовый телефон, подают множество видеоданных, соответствующих различным стандартам. Для обеспечения возможности декодирования множества видеоданных, соответствующих различным стандартам, необходимо, чтобы блок ex507 обработки сигналов в LSI ex500 удовлетворял требованиям различных стандартов. Однако при использовании отдельных блоков ex507 обработки сигналов, которые удовлетворяют требованиям соответствующих стандартов, возникают проблемы, состоящие в увеличении степени интеграции схемы LSI ex500 и в увеличении стоимости.
Для решения этой проблемы придумана конфигурация, в которой блок обработки при декодировании для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления изобретения, и блок обработки при декодировании, соответствующий обычному стандарту, такому как, например, MPEG-2, MPEG-4 AVC и VC-1, частично используются совместно. Пример такой конфигурации показан на фиг.34A как ex900. Например, способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления изобретения, и способ декодирования движущихся изображений, который соответствует стандарту MPEG-4 AVC, имеют частично общие подробности обработки, такие как, например, энтропийное кодирование, обратное квантование, фильтрация, устраняющая блочность, и предсказание с компенсацией движения. Подробности совместно используемой обработки могут включать в себя использование блока ex902 обработки при декодировании, который соответствует стандарту MPEG-4 AVC. В отличие от этого может использоваться выделенный блок ex901 обработки при декодировании для другой обработки, характерной для объекта изобретения. Блок обработки при декодировании для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления изобретения, может совместно использоваться для распределения обработки, а выделенный блок обработки при декодировании может использоваться для выполнения обработки, характерной для стандарта MPEG-4 AVC.
Кроме того, на фиг.34B показан другой пример ex1000, в котором обработка является частично совместно используемой. В этом примере используют конфигурацию, включающую в себя выделенный блок ex1001 обработки при декодировании, который обеспечивает поддержку обработки, характерной для объекта изобретения, выделенный блок ex1002 обработки при декодировании, который обеспечивает поддержку обработки, характерной для другого обычного стандарта, и блок ex1003 обработки при декодировании, который обеспечивает поддержку обработки, совместно используемой для способа декодирования движущихся изображений согласно объекту изобретения и для обычного способа декодирования движущихся изображений. Здесь выделенные блоки ex1001 и ex1002 обработки при декодировании не обязательно являются выделенными для обработки соответственно согласно объекту изобретения и для обработки согласно обычному стандарту и могут быть способными реализовывать общую обработку. Кроме того, конфигурация из данного варианта осуществления изобретения может быть реализована посредством LSI ex500.
Таким образом, степень интеграции LSI и стоимость могут быть уменьшены за счет совместного использования блока обработки при декодировании для совместного использования обработки в способе декодирования движущихся изображений согласно объекту изобретения и в способе декодирования движущихся изображений согласно обычному стандарту.
Промышленная применимость
Изобретение относится к способам кодирования и декодирования движущихся изображений. В частности, изобретение относится к способам кодирования и декодирования номеров режимов для различения способов генерации пикселей с внутрикадровым предсказанием при кодировании с внутрикадровым предсказанием.
Перечень ссылочных позиций
100 - устройство кодирования изображений
101 - блок вычитания
102 - блок преобразования
103 - блок квантования
104 - блок обратного квантования
105 - блок обратного преобразования
106 - блок суммирования
107 - блок межкадрового предсказания
108 - блок внутрикадрового предсказания
109 - блок переключения
110 - блок управления кодированием
120 - блок кодирования переменной длины
200 - устройство декодирования изображений
201 - блок обратного квантования
202 - блок обратного преобразования
203 - блок суммирования
204 - блок межкадрового предсказания
205 - блок внутрикадрового предсказания
206 - блок переключения
210 - блок управления
220 - блок декодирования переменной длины