Область техники, к которой относится изобретение
Настоящее раскрытие относится к устройству и способу обработки изображения и, более конкретно, к устройству и способу обработки изображения, которые позволяют предотвращать снижение эффективности кодирования.
Уровень техники
В последние годы, с целью преобразования в цифровую форму информации изображении и передачи, и накопления информации с высокой эффективностью, получили распространение устройства, которые сжимают и кодируют изображения, используя избыточность, специфичную для информации изображения, в которых применяется схема кодирования, которая выполняет сжатие путем ортогонального преобразования, такое как дискретное косинусное преобразование и компенсация движения. В качестве такой схемы кодирования, например, применяется преобразование Экспертной группы движущегося изображения (MPEG).
В частности, MPEG 2 (Международная организация по Стандартизации/Международная электротехническая комиссия (ISO/IEC) 13818-2) представляет собой стандарт, который определен, как схема кодирования общего назначения, и преобразует изображения с чересстрочной разверткой, изображения с прогрессивной разверткой, изображения со стандартным разрешением и изображения с высокой четкостью. В настоящее время MPEG 2 повсеместно используется для широкого диапазона приложений, таких как профессиональное использование и использование потребителем. Используя схему сжатия MPEG 2, например, в случае изображения с чересстрочной разверткой со стандартным разрешением, имеющим 720×480 пикселей, выделяется объем кодирования (скорость передачи битов) от 4 Мбит/с до 8 Мбит/с. Кроме того, используя схему сжатия MPEG 2, например, в случае изображения с чересстрочной разверткой, выделяется изображение с высоким разрешением, имеющим 1920×1088 пикселей, с объемом кодирования (скорость передачи битов) от 18 Мбит/с до 22 Мбит/с. Таким образом, становится возможным воплотить высокую степень сжатия с отличным качеством изображения.
MPEG 2, в основном, предназначен для кодирования высокой четкости, пригодного для широковещательной передачи, но не поддерживает схему кодирования, имеющую объем кодирования (скорость передачи битов), ниже, чем у MPEG 1, то есть схему кодирования с более высокой степенью сжатия. Считается, что при распространении мобильных терминалов потребность в такой схеме кодирования, увеличится в будущем, и, таким образом, была стандартизирована схема кодирования MPEG 4. В связи со схемой кодирования изображения, ее международный стандарт был одобрен, как ISO/IEC 14496-2 в декабре 1998 г.
Кроме того, в последние годы была проведена стандартизация такого стандарта, как H.26L (International Telecommunication Union Telecommunication Standardization Sector Q6/16 Video Coding Expert Group (ITU-T Q6/16 VCEG)) с целью кодирования изображения для видеоконференции. Стандарт H.26L требует большего объема вычислений для кодирования и декодирования, чем в существующей схеме кодирования, такой как MPEG 2 или MPEG 4, но известен, как воплощение более высокой эффективности кодирования. Кроме того, в настоящее время, в качестве одной из активностей MPEG 4, выполняется стандартизация по внедрению даже такой функции, которая не поддерживается в H.26L и воплощается более высокая эффективность кодирования на основе H.26L, такая как Объединенная модель кодирования видеоданных с улучшенным сжатием.
В качестве плана стандартизации, в марте 2003 г. был установлен международный стандарт, называемый Н.264 и MPEG 4 Часть 10 (который также ниже называется "Усовершенствованном кодированием видеоданных (AVC)").
Кроме того, в качестве расширения H.264/AVC, в феврале 2005 г. было стандартизировано Расширение диапазона точности воспроизведения (FRExt), включающее в себя инструмент кодирования, необходимый для профессионального использования, такой как RGB или 4:2:2, или 4:4:4, или 8×8 DCT и матрица квантования, которые установлены в MPEG 2. В результате H.264/AVC стала схемой кодирования, позволяющей также выражать шумы пленки, включенные в кинофильм, и используется в широких пределах приложений, таких как Blu-ray Disc (товарный знак).
Однако, в последние годы, все более увеличивается потребность в дальнейшем повышении степени сжатия при кодировании, которая позволяет сжимать изображение (которое также называется "изображение 4K"), представляющем приблизительно 4000×2000 пикселей, что в четыре раза больше, чем изображение высокой четкости, или предоставление изображения высокой четкости в среде с ограниченной пропускной способностью для передачи, такой как Интернет. С этой целью постоянно исследуются возможности улучшения эффективности кодирования в Группе экспертов кодирования видеоизображения (VCEG), в соответствии с ITU-T.
В этом отношении, в настоящее время, для дальнейшего улучшения эффективности кодирования, которая была бы выше, чем в AVC, выполняется стандартизация схемы кодирования, называемой Кодированием видеоданных с высокой эффективностью (HEVC) Объединенной группы по сотрудничеству в области кодирования видеоданных (JCTVC), которая представляет собой объединенную организацию по стандартизации ITU-T и ISO/IEC. В стандарте HEVC проект комиссии, который представляет собой первый проект описания, был выпущен в феврале 2012 (см. непатентный документ 1).
В случае HEVC, в общем, информация, которую передают со стороны кодирования на сторону декодирования, включает в себя элементы синтаксиса для Ρ срезов и В срезов, то есть, элементы синтаксиса, относящиеся при обработке между экранами, а также к синтаксису для i срезов.
В то же время, был предложен профиль неподвижного изображения, используемый как профиль для использования HEVC в качестве кодека неподвижного изображения (например, см. непатентный документ 2).
Поскольку профиль неподвижного изображения представляет собой профиль для кодирования и декодирования неподвижных изображений, когда этот профиль применяется, элементы синтаксиса, относящиеся к обработке между экранами, становятся ненужными.
Список литературы
Непатентные документы
Непатентный документ 1: Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 8," JCTVC-H1003_d7, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 10th Meeting: Stockholm, SE, 11-20 July 2012
Непатентный документ 2: Kemal Ugur, Jani Lainema, Miska Hannuksela, "On still picture profile," JCTVC-J0037, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 10th Meeting: Stockholm, SE, 11-20 July 2012
Раскрытие изобретения
Задачи, решаемые изобретением
Однако в случае способа, раскрытого в непатентном документе 2, управление над элементами синтаксиса, относящееся к обработке между экранами, не выполняется. Другими словами, аналогично случаю профиля движущегося изображения, элементы синтаксиса, относящиеся к обработке между экранами, передают со стороны кодирования на сторону декодирования. Таким образом, эффективность кодирования, вероятно, будет понижена, поскольку выполняется передача ненужной информации.
Настоящее раскрытие было выполнено с учетом описанного выше, и при этом желательно обеспечить возможность предотвращения снижения эффективности кодирования.
Решения задачи
Устройство обработки изображения, в соответствии с аспектом настоящей технологии включает в себя: модуль ограничения для ограничения значения элемента синтаксиса, относящегося к обработке между изображениями, когда обработку кодирования выполняют на основе профиля для кодирования неподвижного изображения; и модуль передачи для передачи элемента синтаксиса, имеющий значение, ограниченное модулем ограничения.
Устройство обработки изображения дополнительно может включать в себя модуль кодирования для кодирования данных изображения, с использованием элемента синтаксиса, ограниченного модулем ограничения, и генерирования потока битов, а модуль передачи может дополнительно передавать поток битов, генерируемый модулем кодирования.
Элемент синтаксиса может быть сохранен в наборе параметра последовательности потока битов.
Элемент синтаксиса может представлять собой синтаксис, относящийся к опорному кадру.
Элемент синтаксиса может представлять собой синтаксис, относящийся к количеству опорных кадров.
Модуль ограничения может устанавливать значение элемента синтаксиса до заданного значения, когда выполняют обработку кодирования на основе профиля кодирования неподвижного изображения.
Заданное значение может быть равно 0.
Способ обработки изображения, в соответствии с аспектом настоящей технологии, включает в себя этапы, на которых: ограничивают значение элемента синтаксиса, относящегося к обработке между изображениями, когда выполняют обработку кодирования на основе профиля для кодирования неподвижного изображения; и передают элемент синтаксиса, имеющий ограниченное значение.
Способ обработки изображения может дополнительно включать в себя этап, на котором: кодируют данные изображения, используя ограниченный элемент синтаксиса, генерируют поток битов, и передают этот поток битов.
Элемент синтаксиса может быть сохранен в наборе параметра последовательности потока битов.
Элемент синтаксиса может представлять собой синтаксис, относящийся к опорному кадру.
Элемент синтаксиса может представлять собой синтаксис, относящийся к количеству опорных кадров.
Значение элемента синтаксиса может быть установлено, как заданное значение, когда обработку кодирования выполняют на основе профиля кодирования неподвижного изображения.
Заданное значение может быть равно 0.
В аспекте настоящей технологии значение элемента синтаксиса, относящееся к обработке между изображениями, ограничено, когда обработку кодирования выполняют на основе профиля для кодирования неподвижного изображения; и модуль ограничения передает элемент синтаксиса, имеющий ограниченное значение.
Эффекты изобретения
В соответствии с настоящим раскрытием, возможно кодировать и декодировать изображение. В частности, возможно предотвращать снижение эффективности кодирования.
Краткое описание чертежей
На фиг. 1 показана схема для описания примерной конфигурации модуля кодирования.
На фиг. 2 показана схема для описания элемента мозаичного изображения.
На фиг. 3 представлена схема, иллюстрирующая примерный уровень слоя профиля (Profile_tier_level).
На фиг. 4 представлена схема, иллюстрирующая примерный набор параметров видеоданных (VPS).
На фиг. 5 представлена схема, иллюстрирующая примерный набор параметров последовательности (SPS).
На фиг. 6 представлена схема, иллюстрирующая примерную установку параметра последовательности (SPS), продолжение фиг. 5.
На фиг. 7 представлена схема, иллюстрирующая другой примерный уровень слоя профиля (Profile_tier_level).
На фиг. 8 представлена схема, иллюстрирующая другой примерный набор параметров видеоданных (VPS).
На фиг. 9 представлена схема, иллюстрирующая другой примерный набор параметров последовательности (SPS).
На фиг. 10 представлена схема, иллюстрирующая другой примерный набор параметров последовательности (SPS), продолжение фиг. 9.
На фиг. 11 представлена схема, иллюстрирующая еще один другой примерный набор параметров видеоданных (VPS).
На фиг. 12 представлена схема, иллюстрирующая еще один другой примерный набор параметров последовательности (SPS).
На фиг. 13 представлена схема, иллюстрирующая еще один другой примерный набор параметров последовательности (SPS), продолжение фиг. 12.
На фиг. 14 представлена схема, иллюстрирующая примерный набор параметров изображения (PPS).
На фиг. 15 представлена схема, иллюстрирующая примерный набор параметров изображения (PPS), продолжение фиг. 14.
На фиг. 16 представлена схема, иллюстрирующая примерные данные списка масштабирования (scaling_list_data()).
На фиг. 17 представлена схема, иллюстрирующая примерную семантику ID размера (SizeID).
На фиг. 18 представлена схема, иллюстрирующая примерную семантику ID размера (SizeID) и ID матрицы (MatrixID).
На фиг. 19 представлена схема, иллюстрирующая других данные примерного списка масштабирования (scaling_list_data()).
На фиг. 20 представлена схема, иллюстрирующая примерный заголовок среза (slice_header()).
На фиг. 21 представлена схема, иллюстрирующая примерный заголовок среза (slice_header()), продолжение фиг. 20.
На фиг. 22 представлена схема, иллюстрирующая примерный заголовок среза (slice_header()), продолжение фиг. 21.
На фиг. 23 представлена схема, иллюстрирующая примерное выделение nal_unit_type.
На фиг. 24 показана схема для описания примерной Области интереса (ROI).
На фиг. 25 показана блок-схема, иллюстрирующая примерную основную конфигурацию устройства кодирования изображения.
На фиг. 26 показана блок-схема, иллюстрирующая примерную основную конфигурацию модуля кодирования без потерь.
На фиг. 27 представлена блок-схема последовательности операций для описания примерного потока обработки кодирования.
На фиг. 28 представлена блок-схема последовательности операций для описания примерного потока обработки кодирования, продолжение фиг. 27.
На фиг. 29 представлена блок-схема последовательности операций для описания примерного потока обработки кодирования без потерь.
На фиг. 30 представлена блок-схема последовательности операций для описания примерного потока обработки установки элемента синтаксиса.
На фиг. 31 показана блок-схема, иллюстрирующая другую примерную конфигурацию устройства кодирования изображения.
На фиг. 32 представлена блок-схема последовательности операций для описания другого примерного потока обработки кодирования.
На фиг. 33 представлена блок-схема последовательности операций для описания другого примерного потока обработки кодирования, продолжение фиг. 32.
На фиг. 34 показана блок-схема, иллюстрирующая примерную основную конфигурацию устройства декодирования изображения.
На фиг. 35 показана блок-схема, иллюстрирующая примерную основную конфигурацию модуля декодирования без потерь.
На фиг. 36 представлена блок-схема последовательности операций для описания примерного потока обработки декодирования.
На фиг. 37 представлена блок-схема последовательности операций для описания примерного потока обработки декодирования, продолжение фиг. 36.
На фиг. 38 представлена блок-схема последовательности операций для описания примерного потока обработки анализа элемента синтаксиса.
На фиг. 39 показана блок-схема, иллюстрирующая другую примерную конфигурацию устройства декодирования изображения.
На фиг. 40 показана блок-схема, иллюстрирующая другую примерную конфигурацию модуля декодирования без потерь.
На фиг. 41 представлена блок-схема последовательности операций для описания другого примерного потока обработки декодирования.
На фиг. 42 представлена блок-схема последовательности операций для описания другого примерного потока обработки декодирования, продолжение фиг. 41.
На фиг. 43 представлена блок-схема последовательности операций для описания примерного потока обработки инспекции элемента синтаксиса.
На фиг. 44 представлена схема, иллюстрирующая примерную схему кодирования многопроекционного изображения.
На фиг. 45 представлена схема, иллюстрирующая примерную основную конфигурацию устройства кодирования многопроекционного изображения, в котором применяется настоящая технология.
На фиг. 46 представлена схема, иллюстрирующая примерную основную конфигурацию устройства декодирования многопроекционного изображения, в котором применяется настоящая технология.
На фиг. 47 представлена схема, иллюстрирующая примерную схему кодирования масштабируемого изображения.
На фиг. 48 показана схема для описания примерного пространственного масштабируемого кодирования.
На фиг. 49 показана схема для описания примерного временного масштабируемого кодирования.
На фиг. 50 показана схема для описания примерного масштабируемого кодирования отношения сигнал-шум.
На фиг. 51 представлена схема, иллюстрирующая примерную основную конфигурацию устройства кодирования масштабируемого изображения, в котором применяется настоящая технология.
На фиг. 52 представлена схема, иллюстрирующая примерную основную конфигурацию устройства декодирования масштабируемого изображения, в котором применяется настоящая технология.
На фиг. 53 показана блок-схема, иллюстрирующая примерную основную конфигурацию компьютера.
На фиг. 54 показана блок-схема, иллюстрирующая примерную схематическую конфигурацию телевизионного устройства.
На фиг. 55 показана блок-схема, иллюстрирующая примерную схематическую конфигурацию мобильного телефона.
На фиг. 56 показана блок-схема, иллюстрирующая примерную схематическую конфигурацию устройства записи/воспроизведений.
На фиг. 57 показана блок-схема, иллюстрирующая примерную схематическую конфигурацию устройства формирования изображения.
На фиг. 58 показана блок-схема, иллюстрирующая пример использования масштабируемого кодирования.
На фиг. 59 показана блок-схема, иллюстрирующая другой пример использования масштабируемого кодирования.
На фиг. 60 показана блок-схема, иллюстрирующая еще один другой пример использования масштабируемого кодирования.
На фиг. 61 показана блок-схема, иллюстрирующая примерную схематическую конфигурацию видеонабора.
На фиг. 62 показана блок-схема, иллюстрирующая примерную схематическую конфигурацию видеопроцессора.
На фиг. 63 показана блок-схема, иллюстрирующая другую примерную схематическую конфигурацию видеопроцессора.
На фиг. 64 представлена пояснительная схема, иллюстрирующая конфигурацию системы воспроизведения содержания.
На фиг. 65 представлена пояснительная схема, иллюстрирующая поток данных в системе воспроизведения содержания.
На фиг. 66 представлена пояснительная схема, иллюстрирующая конкретный пример MPD.
На фиг. 67 показана функциональная блок-схема, иллюстрирующая конфигурацию содержания сервера системы воспроизведения содержания.
На фиг. 68 показана функциональная блок-схема, иллюстрирующая конфигурацию устройства воспроизведения содержания системы воспроизведения содержания.
На фиг. 69 показана функциональная блок-схема, иллюстрирующая конфигурацию сервера содержания системы воспроизведения содержания.
На фиг. 70 показана схема последовательности, иллюстрирующая примерную обработку передачи данных, выполняемую устройствами системы беспроводной связи.
На фиг. 71 показана схема последовательности, иллюстрирующая примерную обработку передачи данных, выполняемую устройствами системы беспроводной связи.
На фиг. 72 показана схема, схематично иллюстрирующая примерную конфигурацию формата фрейма передаваемого и принимаемого при обработке передачи данных, выполняемой устройствами системы беспроводной связи.
На фиг. 73 показана схема последовательности, иллюстрирующая примерную обработку передачи данных, выполняемую устройствами системы беспроводной связи.
Осуществление изобретения
Ниже будут описаны режимы (ниже называемые "вариантами осуществления") выполнения настоящего раскрытия.
Описание будет представлено в следующем порядке:
0. Общий обзор
1. Первый вариант осуществления (устройство кодирования изображения)
2. Второй вариант осуществления (устройство кодирования изображения)
3. Третий вариант осуществления (устройство декодирования изображения)
4. Четвертый вариант осуществления (устройство декодирования изображения)
5. Пятый вариант осуществления (устройство кодирования многопроекционного изображения и устройство декодирования многопроекционного изображения)
6. Шестой вариант осуществления (устройство масштабируемого кодирования изображения и устройство масштабируемого декодирования изображения)
7. Седьмой вариант осуществления (компьютер)
8. Примеры применения
9. Примеры применения масштабируемого кодирования
10. Восьмой вариант осуществления (набор/модуль/модуль/процессор)
11. Девятый вариант осуществления (примеры применения системы воспроизведения содержания MPEG-DASH)
12. Десятый вариант осуществления (примеры применения системы беспроводной связи в соответствии со стандартом Wi-Fi).
0. Общий обзор
Схема кодирования
Ниже настоящая технология будет описана в связи с применением к схеме кодирования и декодирования HEVC.
Модуль кодирования
В AVC определена иерархическая структура, основанная на макроблоке и подмакроблоке. Однако макроблок размером 16×16 пикселей не является оптимальным для большого кадра изображения, такого, как кадр сверхвысокой четкости (UHD) (4000×2000 пикселей), используемый как цель для схемы кодирования следующего поколения.
С другой стороны, в HEVC, модуль кодирования (CU) определен, как представлено на фиг. 1.
CU также называется блоком дерева кодирования (СТВ), и CU представляет собой частичную область изображения для модуля изображения, который выполняет ту же роль, что и макроблок в AVC. Макроблок AVC фиксирован по размеру равным 16×16 пикселей, но размер CU в HEVC не фиксирован и обозначен в информации сжатия изображений в каждой последовательности.
Например, наибольший модуль кодирования (LCU) и наименьший модуль кодирования (SCU) в CU определены в наборе параметров последовательности (SPS), включенном в кодированные данные для вывода.
Поскольку split_flag=1 установлен в диапазоне, в котором каждый LCU не меньше, чем SCU, модуль кодирования может быть разделен на CU, имеющие меньший размер. В примере на фиг. 1 размер LCU составляет 128×128, и большая глубина масштабирования составляет 5. CU для размера 2N×2Ν разделяют на CU, имеющие размер Ν×Ν, используемые как иерархия, которая на один уровень ниже, чем значение split_flag, равное "1".
Кроме того, CU разделен на модули прогнозирования (PU), которые представляют собой области (частичные области изображения для модуля изображения), используемые, как модули обработки для прогнозирования внутри кадра или между кадрами, и разделенные на модули преобразования (TU), которые представляют собой области (частичные области изображения для модуля изображения), используемые, как модули обработки ортогонального преобразования. В HEVC любой из размеров 4×4, 8×8, 16×16 и 32×32 может использоваться, как модуль обработки ортогонального преобразования.
В случае схемы кодирования, в которой определен CU, и различные виды обработки выполняют в модулях CU, таких как HEVC, макроблок в AVC можно рассматривать, как соответствующий LCU, и блок (подблок) можно рассматривать, как соответствующий CU. Кроме того, блок компенсации движения в AVC можно рассматривать, как соответствующий PU. Здесь, поскольку CU имеет иерархическую структуру, размер LCU самого верхнего уровня обычно устанавливают больше, чем макроблок в AVC, например, такой как 128×128 пикселей.
Таким образом, ниже, LCU, как предполагается, включает в себя макроблок в AVC, и CU, как предполагается, включает в себя блок (подблок) в AVC. Другими словами, "блок", используемый в следующем описании, обозначает произвольную частичную область в изображении, и, например, размер, форма и характеристики блока не ограничены. Другими словами, "блок" включает в себя произвольную область (модуль обработки), такую как TU, PU, SCU, CU, LCU, подблок, макроблок или срез. Конечно, "блок" также включает в себя любую другую частичную область (модуль обработки). Когда необходимо ограничить размер, модуль обработки и т.п., это будет соответствующим образом описано.
Выбор режима
В то же время в схемах кодирования, таких как AVC и HEVC, для достижения более высокой эффективности кодирования, важно выбирать соответствующий режим прогнозирования.
В качестве примера такого способа выбора, используется способ, воплощенный в опорном программном обеспечении (открыто по адресу http://iphome.hhi.de/suehring/tml/index.htm) для H.264/MPEG-4 AVC, называемый объединенной моделью (JM).
В JM возможно выбирать два способа определения режима, то есть режим высокой сложности и режим низкой сложности, описанный ниже. В обоих режимах рассчитывают значения функции стоимости, относящиеся к соответствующим режимам прогнозирования, и режим прогнозирования, имеющий наименьшее значение функции стоимости, выбирают как оптимальный режим для текущего блока, используемого как цель обработки.
Функция стоимости в режиме высокой сложности представлена, как в следующем формуле (1):
Математическая формула 7
Здесь Ω обозначает универсальный набор режима кандидата для кодирования текущего блока, и D обозначает дифференциальную энергию между декодируемым изображением и входным изображением, когда кодирование выполняется в соответствующем режиме прогнозирования, λ обозначает неопределенный множитель Лагранжа, заданный как функция параметра квантования. R обозначает общий объем кодирования, включающий в себя коэффициент ортогонального преобразования, когда кодирование выполняют в соответствующем режиме прогнозирования.
Другими словами, для того, чтобы выполнить кодирование в режиме высокой сложности, необходимо выполнить временную обработку кодирования один раз для всех режимов кандидатов, для того чтобы рассчитать параметры D и R, и, таким образом, требуется больший объем расчетов.
Функция стоимости в режиме низкой сложности представлена следующей формулой (2):
Математическая формула 8
Здесь D обозначает дифференциальную энергию между прогнозируемым изображением и входным изображением, в отличие от режима высокой сложности. QP2Quant (QP) задана как функция параметра QP квантования, и HeaderBit обозначает объем кодирования, относящийся к информации, принадлежащей заголовку, такой как вектор движения или режим, не включающий в себя коэффициент ортогонального преобразования.
Другими словами, в режиме низкой сложности необходимо выполнить обработку прогнозирования для соответствующих режимов кандидатов, но поскольку это не требуется вплоть до декодируемого изображения, нет необходимости выполнять это до обработки кодирования. Таким образом, она может быть выполнена с меньшим объемом расчетов, чем в режиме высокой сложности.
Мозаичное изображение
В то же время, в HEVC, мозаичное изображение, представленное на фиг. 2, установлено как модуль параллельной обработки, в дополнение к срезу, установленному в AVC.
Ширина и высота каждого элемента мозаичного изображения обозначены в информации сжатия изображения, и обработка декодирования может быть независимо выполнена для каждого элемента мозаичного изображения.
Профиль неподвижного изображения
Кроме того, в непатентном документе 2, был предложен профиль неподвижного изображения, используемый, как профиль для использования HEVC, в качестве кодека неподвижного изображения.
Однако в случае HEVC обычно информация, которую передают со стороны кодирования на сторону декодирования, включает в себя элементы синтаксиса для Ρ срезов и В срезов, то есть, элементов синтаксиса, относящихся к обработке между экранами, а также к синтаксису для i срезов.
Поскольку профиль неподвижного изображения представляет собой профиль для кодирования и декодирования неподвижных изображений, когда этот профиль применяется, описанные выше элементы синтаксиса, относящиеся к обработке между экранами, являются ненужными. Однако, в случае способа, раскрытого в непатентном документе 2, управление элементами синтаксиса, относящимися к обработке между экранами, не выполняется. Другими словами, аналогично случаю профиля движущегося изображения, элементы синтаксиса, относящиеся к обработке между экранами, передают со стороны кодирования на сторону декодирования. Таким образом, эффективность кодирования, вероятно, будет снижена, поскольку выполняется передача ненужной информации.
В этом отношении, в настоящей технологии, когда выполняется обработка кодирования на основе профиля для кодирования неподвижных изображений, значения элементов синтаксиса, относящихся к обработке между изображениями, ограничены, и передача ненужной информации предотвращается. В результате, становится возможным предотвратить снижение эффективности кодирования.
Конкретные примеры ограничения будут описаны ниже.
0-1: Ограничение элемента синтаксиса, относящегося к подуровню
На фиг. 3 показана схема, иллюстрирующая примерный синтаксис уровня слоя профиля (profile_tier_level()) в HEVC. Числа с левой стороны представлены как номера строк для описания и не включены в фактический синтаксис. Аналогично, числа с левой стороны, представленные на фиг. 4-23, которые будут описаны ниже, представлены как номера строк для описания чертежей и фактически не включены в синтаксис.
Элемент синтаксиса general_profile_idc, показанный в 5-ой строке в уровне слоя профиля (profile_tier_level()), представленный на фиг. 3, устанавливает, что профиль последовательности (текущая последовательность) цели обработки представляет собой профиль неподвижного изображения.
Уровень слоя профиля (profile_tier_level()) на фиг. 3 называется "(набор параметров видеоданных VPS)" или "набор параметров последовательности (SPS)".
На фиг. 4 показана схема, иллюстрирующая примерный набор параметров видеоданных (VPS) в HEVC. На фиг. 5 и 6 показаны схемы, иллюстрирующие примерный набор параметров последовательности (SPS) в HEVC.
Как представлено на фиг. 4, в наборе параметров видеоданных (VPS) вызывают уровень слоя профиля (profile_tier_level()) в 7-й строке. Кроме того, как представлено на фиг. 5, в наборе параметров последовательности (SPS) вызывают уровень слоя профиля (profile_tier_level()) в 5-й строке.
Здесь, когда выполняют кодирование на основе профиля неподвижного изображения, отсутствует глубина временного уровня (который также называется "подуровень"). Другими словами, элементы синтаксиса, относящиеся к подуровню, являются ненужными.
В этом отношении, в уровне слоя профиля (profile_tier_level()) на фиг. 3, прежде чем профиль неподвижного изображения будет установлен элементом синтаксиса general_profile_idc, 0 может быть обозначен, как значение параметра vps_max_sub_layers_minus1 (6-я строка), относящегося к подуровню в наборе параметров видеоданных (VPS) на фиг. 4, и 0 может быть обозначен, как значение параметра sps_max_sub_layers_minus1 (3-я строка), относящееся к подуровню набора параметров последовательности (SPS) (фиг. 5 и 6).
Другими словами, когда элемент синтаксиса general_profile_idc в уровне слоя профиля (profile_tier_level()) на фиг. 3 устанавливает, что профиль представляет собой профиль неподвижного изображения, 0, вероятно, может быть обозначен, как значение параметра vps_max_sub_layers_minus1 (6-я строка), относящееся к подуровню в наборе параметров видеоданных (VPS) на фиг. 4, и 0, вероятно, может быть обозначен, как значение параметра sps_max_sub_layers_minus1 (3-я строка), относящееся к подуровню в наборе параметров последовательности (SPS) (фиг. 5 и 6).
В результате, становится возможным предотвратить считывание ненужных участков уровня слоя профиля (profile_tier_level()). Другими словами, становится возможным предотвратить увеличение нагрузки, связанной со считыванием, и предотвратить считывание и передачу ненужных параметров. Таким образом, становится возможным предотвращать снижение эффективности кодирования.
Кроме того, в результате, нет необходимости изменять синтаксис уровня слоя профиля (profile_tier_level()), набора параметров видеоданных (VPS) и набора параметра последовательности (SPS), и становится возможным предотвращать снижение эффективности кодирования путем управления семантикой. Когда изменяется синтаксис, например, вероятно, становится сложно поддерживать совместимость синтаксиса с кодером и декодером предшествующего уровня техники, которые не поддерживают профиль неподвижного изображения. В частности, в случае кодеров и декодеров, воплощенных с использованием аппаратных средств, возникают случаи, в которых трудно обновлять синтаксис. Снижение совместимости синтаксиса, вероятно, приводит к снижению разносторонности. Однако, как описано выше, когда значения элемента синтаксиса ограничены семантикой, становится возможным поддерживать совместимость синтаксиса и предотвратить снижение разносторонности.
Кроме того, поскольку совместимость синтаксиса поддерживается, как описано выше, становится возможным легко применять общий синтаксис даже для кодирования неподвижных изображений и для кодирования движущихся изображений, и, таким образом, становится возможным легко воплощать кодер и декодер, которые обрабатывают, как неподвижное изображение, так и движущееся изображение, используя общую схему. Другими словами, можно способствовать снижению размера устройства, предотвращению повышения стоимости и т.п.
0-2: Ограничение элемента синтаксиса, связанное с вызовом уровня слоя профиля
В данном случае вполне возможно воплотить такое ограничение путем изменения синтаксиса.
Как описано выше, когда уровень слоя профиля (profile_tier_level()) вызывают из набора параметров видеоданных (VPS) или из набора параметров последовательности (SPS), значение элемента синтаксиса ProfilePresentFlag, относящееся к вызову уровня слоя профиля, который обозначен во время вызова, постоянно равно 1.
Другими словами, передача этого элемента синтаксиса является чрезмерной. Кроме того, оператор "if во 2-й строке уровня слоя профиля (profile_tier_level()) (фиг. 3) также является ненужным.
В этом отношении синтаксис уровня слоя профиля (profile_tier_level()) на фиг. 3 может быть изменен, как в примере, показанном на фиг. 7, при этом синтаксис набора параметров видеоданных (VPS) на фиг. 4 может изменяться, как в примере, представленном на фиг. 8, и синтаксис набора параметров последовательности (SPS) на фиг. 5 и 6 может изменяться, как в примере, представленном на фиг. 9 и 10.
Другими словами, уровень слоя профиля (profile_tier_level()) может быть обозначен путем обозначения только элемента синтаксиса MaxNumSubLayersMinus1, относящегося к подуровню, как в примерах, показанных на фиг. 7 (в 1-ой строке), на фиг. 8 (в 7-ой строке), и на фиг. 9 (в 5-й строке), без обозначения элемента синтаксиса ProfilePresentFlag.
Кроме того, как представлено в 1-й - 7-й строках на фиг. 7, в уровне слоя профиля (profile_tier_level()), оператор "if, в котором используется элемент синтаксиса ProfilePresentFlag, может быть исключен.
В результате, становится возможным предотвратить передачу ненужного параметра и сдержать снижение эффективности кодирования. Кроме того, возможно сдерживать увеличение нагрузки, связанной с обработкой при чтении уровня слоя профиля (profile_tier_level()), который связан с чтением ненужного оператора "if.
Другими словами, значение элемента синтаксиса ProfilePresentFlag, относящееся к вызову уровня слоя профиля, может быть зафиксировано равным 1.
0-3: Ограничение элемента синтаксиса, относящегося к уровню слоя профиля
В представленном выше способе, когда элемент синтаксиса max_sub_layers_minus1, относящийся к подуровню, кодируют, должна быть выполнена установка после детектирования информации в отношении того, выполняется или нет кодирование на основе профиля неподвижного изображения в последующем уровне слоя профиля (profile_tier_level()).
В этом отношении, синтаксис набора параметров видеоданных (VPS) на фиг. 4 может изменяться, как в примере, представленном на фиг. 11, и синтаксис набора параметров последовательности (SPS) на фиг. 5 и 6 может изменяться в примере, представленном на фиг. 12 и 13.
Другими словами, в наборе параметров видеоданных (VPS), как в 6-й - 8-й строках (на фиг. 11), элемент синтаксиса profile_tier_level (1,0), относящийся к уровню слоя профиля, может быть обозначен, значение элемента синтаксиса vps_max_sub_layers_minus1, относящееся к подуровню, может быть обозначено, и элемент синтаксиса profile_tier_level (0, vps_max_sub_layers_minus1), относящийся к уровню слоя профиля, может быть обозначен.
Аналогично, в наборе параметров последовательности (SPS), как в 3-й - 6-й строках (фиг. 12), элемент синтаксиса profile_tier_level (1,0), относящийся к уровню слоя профиля, может быть обозначен, значение элемента синтаксиса sps_max_sub_layers_minus1, относящееся к подуровню, может быть обозначено, и элемент синтаксиса profile_tier_level (0, sps_max_sub_layers_minus1), относящийся к уровню слоя профиля, может быть обозначен.
Кроме того, например, когда набор параметров, которому принадлежит элемент синтаксиса, не выделяют в отличие от vps_max_sub_layers_minus1 и sps_max_sub_layers_minus1, наборы параметров просто обозначают, как max_sub_layers_minus1. Другими словами, vps_max_sub_layers_minus1 представляет собой max_sub_layers_minus1 в наборе параметров видеоданных (VPS), и sps_max_sub_layers_minus1 представляет собой max_sub_layers_minus1 в наборе параметров последовательности (SPS). Как предполагается, другие элементы синтаксиса имеют аналогичную взаимосвязь.
Поскольку элемент синтаксиса profile_tier_level (1,0) обозначен выше, элемент синтаксиса max_sub_layers_minus1, относящийся к подуровню, обозначен, передают информацию, относящуюся к случаю, когда все временные уровни (temporal_layer) данных изображения кодируют или декодируют.
Здесь, когда применяют профиль неподвижного изображения, 0 устанавливают, как значение элемента синтаксиса max_sub_layers_minus1, относящееся к подуровню.
После того, как элемент синтаксиса max_sub_layers_minus1, относящийся к подуровню, кодируют, информацию, относящуюся к случаю, когда несколько временных уровней (temporal_layer) данных изображения кодируют или декодируют, передают через profile_tier_level (0, nax_sub_layers_minus1).
В результате изменения синтаксиса, как описано выше, становится возможным обозначить значение элемента синтаксиса max_sub_layers_minus1, относящееся к подуровню, после обозначения, является или нет профиль профилем неподвижного изображения.
0-4: Ограничение элемента синтаксиса, относящегося к виртуальному опорному декодеру
Кроме того, когда применяют профиль неподвижного изображения, нет необходимости управлять виртуальным опорным декодером. В этом отношении, как представлено на фиг. 4, 0 может быть установлен как значение элемента синтаксиса vps_num_hrd_parameters (14-я строка), относящееся к виртуальному опорному декодеру в наборе параметров видеоданных (VPS).
Другими словами, когда применяется профиль неподвижного изображения, значение элемента синтаксиса vps_num_hrd_parameters (14-я строка), относящееся к виртуальному опорному декодеру в наборе параметров видеоданных VPS), может быть зафиксировано равным 0.
Элемент синтаксиса vps_num_hrd_parameters, относящийся к виртуальному опорному декодеру, представляет собой положительное значение, которое кодируют, используя расширенное кодирование Голомба, и затем передают. Таким образом, когда это значение равно 0 или 1, объем кодирования становится минимальным. Другими словами, когда 0 устанавливают, как значение элемента синтаксиса vps_num_hrd_parameters, относящееся к виртуальному опорному декодеру, становится возможным предотвратить снижение эффективности кодирования.
Кроме того, когда 0 устанавливают, как значение элемента синтаксиса vps_num_hrd_parameters, относящееся к виртуальному опорному декодеру, становится возможным пропустить обработку в контуре (оператор "for") в 15-й - 19-й строках. Таким образом, в результате, становится возможным уменьшить повышение нагрузки. Кроме того, возможно предотвратить передачу ненужных элементов синтаксиса при обработке в контуре (оператор "for") и предотвратить снижение эффективности кодирования.
Кроме того, возможно ограничить значение элемента синтаксиса семантическими значениями, без изменения синтаксиса и предотвратить снижение разносторонности синтаксиса.
Кроме того, такое ограничение может быть введено, даже когда набор параметров видеоданных (VPS) представлен, как пример на фиг. 8, или пример на фиг. 11.
0-5: Ограничение элемента синтаксиса, относящегося к срезу Ρ и срезу В
Кроме того, когда применяется профиль неподвижного изображения, не используется ни Ρ срез, ни В срез. В этом отношении, как представлено на фиг. 5, 0 может быть установлен как значение элемента синтаксиса restricted_ref_pic_lists_flag (32-я строка), относящееся к Ρ срезу и В срезу в наборе параметров последовательности (SPS).
Другими словами, когда применяется профиль неподвижного изображения, значение элемента синтаксиса restricted_ref_pic_lists_flag (32-я строка), относящееся к Ρ срезу и В срезу в наборе параметров последовательности (SPS), может быть зафиксировано равным 0.
Кроме того, когда 0 устанавливают, как значение элемента синтаксиса restricted_ref_pic_lists_flag, относящееся к срезу Ρ и срезу В, становится возможным пропустить с 33-й до 42-ю строки. Таким образом, в результате, становится возможным уменьшить повышение нагрузки. Кроме того, возможно предотвратить передачу ненужных элементов синтаксиса с 33-й по 42-ю строки и предотвратить снижение эффективности кодирования.
Кроме того, возможно ограничить значение элемента синтаксиса по семантике, без изменения синтаксиса, и предотвратить снижение разносторонности синтаксиса.
Кроме того, ограничение может быть введено, даже когда набор параметров последовательности (SPS) представляет собой пример на фиг. 9 и 10 или пример на фиг. 12 и 13.
<0-6: Ограничение элемента синтаксиса, относящегося к короткому сроку
Кроме того, когда применяется профиль неподвижного изображения, отсутствует концепция времени (отсутствует другой кадр). В этом отношении, как представлено на фиг. 6, 0 может быть установлен как значение элемента синтаксиса num_short_term_ref_pic_sets (56-я строка), относящееся к короткому сроку, в наборе параметров последовательности (SPS).
Другими словами, когда применяется профиль неподвижного изображения, значение элемента синтаксиса num_short_term_ref_pic_sets (56-я строка), относящееся к короткому сроку в наборе параметров последовательности (SPS), может быть зафиксировано равным 0.
Элемент синтаксиса num_short_term_ref_pic_sets, относящийся к короткому сроку, представляет собой положительное значение, которое кодируют, используя расширенное кодирование Голомба, и затем передают. Таким образом, когда значение равно 0 или 1, объем кодирования становится минимальным. Другими словами, 0 обозначают, как значение элемента синтаксиса num_short_term_ref_pic_sets, относящееся к короткому сроку, при этом возможно предотвратить снижение эффективности кодирования.
Кроме того, поскольку 0 назначен, как значение элемента синтаксиса num_short_term_ref_pic_sets, относящееся к короткому сроку, становится возможным пропустить с 57-й по 58-ю строки. Таким образом, в результате, становится возможным предотвратить повышение нагрузки.
Кроме того, возможно ограничить значение элемента синтаксиса по семантике, без изменения синтаксиса, и предотвратить снижение разносторонности синтаксиса.
Кроме того, такое ограничение может быть введено, даже когда набор параметров последовательности (SPS), представляет собой пример, показанный на фиг. 9 и 10, или пример на фиг. 12 и 13.
0-7: Ограничение элемента синтаксиса, относящегося к длительному сроку
Кроме того, когда применяется профиль неподвижного изображения, отсутствует концепция времени (отсутствует другое изображение). При этом, как представлено на фиг. 6, 0 может быть установлен как значение элемента синтаксиса long_term_ref_pics_present_flag (59-я строка), относящееся к длительному сроку, в наборе параметров последовательности (SPS).
Другими словами, когда применяется профиль неподвижного изображения, значение элемента синтаксиса long_term_ref_pics_present_flag (59-я строка), относящееся к длительному сроку в наборе параметров последовательности (SPS), может быть зафиксировано равным 0.
Поскольку 0 установлен как значение элемента синтаксиса long_term_ref_pics_present_flag, относящееся к длительному сроку, возможно, пропустить с 60-й по 66-ю строки. Таким образом, в результате, становится возможным предотвратить увеличение нагрузки. Кроме того, возможно предотвратить передачу ненужного элемента синтаксиса в 60-й по 66-ю строках и предотвратить снижение эффективности кодирования.
Кроме того, возможно ограничить значение элемента синтаксиса, используя семантику, без изменения синтаксиса, и предотвратить снижение разносторонности синтаксиса.
Кроме того, такое ограничение может быть введено, даже когда набор параметров последовательности (SPS), представляет собой пример, представленный на фиг. 9 и 10, или пример, показанный на фиг. 12 и 13.
0-8: Ограничение элемента синтаксиса, связанное с вектором движения
Кроме того, когда применяется профиль неподвижного изображения, отсутствует концепция времени (отсутствует другое изображение). При этом, как представлено на фиг. 6, 0 может быть установлен как значение элемента синтаксиса sps_temporal_mvp_enable_flag (67-я строка), относящаяся к вектору движения в наборе параметров последовательности (SPS).
Другими словами, когда применяется профиль неподвижного изображения, значение элемента синтаксиса sps_temporal_mvp_enable_flag (67-я линия), относящееся к вектору движения в наборе параметров последовательности (SPS), может быть зафиксировано равным 0.
Поскольку 0 установлен как значение элемента синтаксиса, sps_temporal_mvp_enable_flag, относящееся к вектору движения, становится возможным свести к минимуму объем кодирования, и при этом возможно предотвратить снижение эффективности кодирования.
Кроме того, возможно ограничить значение элемента синтаксиса, используя семантику, без изменения синтаксиса и предотвратить снижение многосторонности синтаксиса.
Кроме того, такое ограничение может быть введено, даже когда набор параметров последовательности (SPS), представляет собой пример на фиг. 9 и 10 или пример на фиг. 12 и 13.
0-9: Ограничение элемента синтаксиса набора параметров изображения
На фиг. 14 и 15 показаны схемы, иллюстрирующие пример набора параметров изображения (PPS) в HEVC.
Когда применяется профиль неподвижного изображения, отсутствует концепция времени (отсутствует другое изображение). При этом, как представлено на фиг. 14, 0 или 1 могут быть установлены как оба из значений элемента синтаксиса num_ref_idx_l0_default_active minus1 (6-я линия), относящиеся к L0, и элемента синтаксиса num_ref_idx_l1_default_active minus1 (7-я строка), относящегося к L1 в наборе параметров изображения (PPS).
Другими словами, когда применяется профиль неподвижного изображения, оба из значений элемента синтаксиса num_ref_idx_l0_default_active minus1 (6-я линия), относящиеся к L0, и элемента синтаксиса num_ref_idx_l1_default_active minus1 (7-я строка), относящегося к L1 в наборе параметров изображения (PPS), могут быть зафиксированы равными 0 или 1.
Элементы синтаксиса представляют собой положительные значения, которые кодируют, используя расширенное кодирование Голомба, и затем передают. Таким образом, когда эти значения равны 0 или 1, объем кодирования становится минимальным. Другими словами, поскольку 0 установлен как значение элемента синтаксиса num_ref_idx_l0_default_active minus1, относящееся к L0, и элемента синтаксиса num_ref_idx_l1_default_active minus1, относящееся к L1, возможно предотвратит снижение эффективности кодирования.
Кроме того, когда применяется профиль неподвижного изображения, отсутствует концепция времени (отсутствует другое изображение). При этом, как представлено на фиг. 15, 0 может быть установлен как значение элемента (флаг) синтаксиса lists_modification_present_flag (49-я строка) набора параметров изображения (PPS), обозначающее, присутствует ли элемент синтаксиса ref_pic_list_modification в текущем заголовке среза.
Другими словами, когда применяется профиль неподвижного изображения, значение элемента синтаксиса (флаг) lists_modification_present_flag (49-я строка) набора параметров изображения (PPS), обозначающее, присутствует ли элемент синтаксиса ref_pic_list_modification в текущем заголовке среза, может быть зафиксировано равным 0.
Когда значение элемента синтаксиса lists_modification_present_flag равно 1, элемент синтаксиса ref_pic_list_modification, относящийся к списку опорного изображения, передают для текущего среза, как представлено в 53-й и 54-й строках на фиг. 21, но в случае профиля неподвижного изображения, этот элемент синтаксиса является ненужным. Другими словами, поскольку 0 установлен как значение элемента синтаксиса lists_modification_present_flag, становится возможным исключить передачу элемента синтаксиса ref_pic_list_modification списка опорного изображения, которая представляет собой ненужную информацию для текущего среза, и при этом возможно предотвратить снижение эффективности кодирования.
Кроме того, когда применяется профиль неподвижного изображения, отсутствует концепция времени (отсутствует другое изображение). При этом, как представлено на фиг. 15, 0 может быть установлен как значение элемента синтаксиса log2_parallel_merge_level_minus2 (50-ая строка) набора параметров изображения (PPS), обозначающего уровень параллельной обработки режима слияния и режима пропуска при обработке прогнозирования.
Другими словами, когда применяется профиль неподвижного изображения, значение элемента синтаксиса log2_parallel_merge_level_minus2 (50-я строка) набора параметров изображения (PPS), обозначающее уровень параллельной обработки режима слияния и режима пропуска при обработке прогнозирования, может быть зафиксировано равным 0.
Такой элемент синтаксиса представляет собой положительное значение, которое кодируют, используя расширенное кодирование Голомба, и затем передают. Таким образом, когда такое значение равно 0, объем кодирования становится минимальным. Другими словами, поскольку 0 устанавливают как значение элемента синтаксиса log2_parallel_merge_level_minus2, обозначающее уровень параллельной обработки режима слияния и режима пропуска при обработке прогнозирования, становится возможным предотвратить снижение эффективности кодирования.
Кроме того, когда применяется профиль неподвижного изображения, отсутствует концепция времени (отсутствует другое изображение). При этом, как представлено на фиг. 14, 0 может быть установлен как оба значения элемента синтаксиса (флаг) weighted_pred_flag (18-я строка), относящиеся к взвешенному прогнозированию среза Р, и элемент синтаксиса (флаг) weighted_bipred_flag (19-я линия), относящийся к взвешенному прогнозированию среза B в наборе параметров изображения (PPS).
Другими словами, когда применяется профиль неподвижного изображения, значение элемента синтаксиса (флаг) weighted_pred_flag (18-я строка), относящееся к взвешенному прогнозированию среза Р, и элемента синтаксиса (флаг) weighted_bipred_flag (19-я строка) относящееся к взвешенному прогнозированию среза B в наборе параметров изображения (PPS), может быть зафиксировано равным 0.
Когда значение элемента синтаксиса weighted_pred_flag или weighted_bipred_flag равно 1, как представлено в 65-й - 68-й строках на фиг. 21, таблицу взвешенного прогнозирования и т.п. передают для текущего среза, но в случае профиля неподвижного изображения, эта информация является ненужной. Другими словами, поскольку 0 установлен как значение элемента синтаксиса weighted_pred_flag или weighted_bipred_flag, становится возможным исключить передачу ненужной информации для текущего среза, и при этом возможно предотвратить снижение эффективности кодирования.
Здесь, как будет описано ниже, даже когда тип среза ограничен срезом i, передача информации может быть исключена, и, таким образом, описанное выше ограничение, относящееся к элементу синтаксиса weighted_pred_flag или weighted_bipred_flag, может быть исключено.
Кроме того, возможно ограничить значение элемента синтаксиса по семантике, без изменения синтаксиса, и предотвращать снижение разносторонности синтаксиса.
0-10: Ограничение элемента синтаксиса, связанное с режимом прогнозирования списка масштабирования
В то же время, в наборе параметров последовательности (SPS), представленном на фиг. 5 и 6, вызывают список масштабирования (scaling_list_data()) (49-я строка). Аналогично, даже в наборе параметров изображения (PPS), представленном на фиг. 14 и 15, вызывают список масштабирования (scaling_list_data()) (48-я строка).
На фиг. 16 иллюстрируется примерный список масштабирования (scaling_list_data()). В списке масштабирования (scaling_list_data()), представленном на фиг. 16, семантика идентификатора размера (sizeID) и ID матрицы (matrixID) является такой, как представлено на фиг. 17 и 18.
Здесь, когда значение ID размера (sizeID) равно 0, 1 или 2, и значение ID матрицы (matrixID) равно 3, 4 или 5, или когда значение ID размера (sizeID) равно 3, и значение ID матрицы (matrixID) равно 1, в профиле неподвижного изображения, излишне передавать список масштабирования.
В этом отношении, в этом случае, 0 может быть установлен как значение элемента синтаксиса scaling_list_pred_mode_flag, относящееся к режиму прогнозирования списка масштабирования, и 0, или 1 могут быть установлены, как значение элемента синтаксиса scaling_list_pred_matrix_id_delta, относящееся к матрице прогнозирования списка масштабирования.
Другими словами, когда применяется профиль неподвижного изображения, значение элемента синтаксиса scaling_list_pred_mode_flag (4-я строка), относящееся к режиму прогнозирования списка масштабирования, может потребоваться зафиксировать равным 0, и значение элемента синтаксиса scaling_list_pred_matrix_id_delta (6-я строка), относящееся к матрице прогнозирования списка масштабирования, может потребоваться зафиксировать равным 0 или 1.
Кроме того, поскольку 1 обозначена, как значение элемента синтаксиса scaling_list_pred_matrix_id_delta, относящееся к матрице прогнозирования списка масштабирования, возможно снизить необходимость вставки предотвращения эмуляции начального кода, при поддержании минимальной длины кода.
0-11: Изменение синтаксиса, относящееся к режиму прогнозирования списка масштабирования
Кроме того, вместо ограничения значения элемента синтаксиса семантикой, как описано выше, синтаксис может быть изменен, как представлено на фиг. 19.
В синтаксисе на фиг. 19, как представлено в 4-й строке, состояние оператора "for", установлено подробно, используя ID размера (sizeID) и ID матрицы (matrixID), как описано выше.
В результате, могут быть получены те же эффекты.
0-12: Ограничение элемента синтаксиса, связанное с типом среза
На фиг. 20-22 иллюстрируется примерный синтаксис заголовка среза.
Когда применяется профиль неподвижного изображения, тип среза, представляет собой срез i. В этом отношении, как представлено на фиг. 20, значение, обозначающее срез i, может быть обозначено, как значение элемента синтаксиса slice_type (11-я строка), относящееся к типу среза в заголовке среза (slice_header()).
Другими словами, когда применяется профиль неподвижного изображения, значение элемента синтаксиса slice_type (11-я строка), относящееся к типу среза, в заголовке среза (slice_header()), может быть зафиксировано на i-м срезе.
В результате, становится возможным пропустить с 44-й по 68-ю строки заголовка среза (slice_header()). Таким образом, в результате, становится возможным предотвратить увеличение нагрузки. Кроме того, становится возможным предотвратить передачу ненужных элементов синтаксиса с 44-й - 68-ю строках, и возможно предотвратить снижение эффективности кодирования.
Кроме того, возможно ограничить значение элемента синтаксиса по семантике, без изменения синтаксиса, и предотвратить снижение разносторонности синтаксиса.
0-13: Ограничение элемента синтаксиса, связанное с типом модуля NAL
В то же время на фиг. 20-22 IdrPicFlag и RapPicFlag рассчитывают на основе nal_unit_type, как представлено в следующих формулах (3) и (4):
Математическая формула 9
Здесь элемент синтаксиса nal_unit_type, относящийся к типу модуля NAL, выделяют, как представлено на фиг. 23.
В этом отношении, когда применяют профиль неподвижного изображения, IDR_W_LP или IDR_N_LP могут быть обозначены как тип модуля NAL (nal_unit_type) для VCL.
Другими словами, когда применяют профиль неподвижного изображения, тип модуля NAL (nal_unit_type) для VCL может потребоваться зафиксировать на IDR_W_LP или IDR_N_LP.
В результате выполнения представленной выше обработки, становится возможным предотвратить передачу избыточной информации и улучшить эффективность кодирования информации сжатия изображений, которая должна быть выведена, когда кодирование выполняют на основе профиля неподвижного изображения.
Кроме того, элементы синтаксиса, относящиеся к обработке между изображениями, в которых значения ограничены, когда выполняют обработку кодирования на основе профиля для кодирования неподвижного изображения, не ограничены описанным выше примером. Значения других элементов синтаксиса, кроме описанных выше элементов синтаксиса, могут быть ограничены. В это время синтаксис может изменяться в результате ограничения семантики.
Кроме того, как представлено на фиг. 24, когда существует Область интереса (ROI) в части неподвижного изображения, например, когда лицо человека представлено в части неподвижного изображения, изображение может быть разделено на элементы мозаичного изображения, показанные на фиг. 2, элемент мозаичного изображения, используемый, как область ROI, можно обозначить метаданными, такими как вспомогательная информация расширения (SEI), и обработка декодирования только для области ROI может быть выполнена для декодируемого изображения.
Далее будут описаны примеры применения настоящей технологии в конкретных устройствах.
1. Первый вариант осуществления
Устройство кодирования изображения
На фиг. 25 показана блок-схема, иллюстрирующая пример конфигурации устройства кодирования изображения, как пример устройства обработки изображения, в котором применяется настоящая технология. Например, устройство 100 кодирования изображения, представленное на фиг. 25, кодирует данные изображения для движущегося изображения, используя обработку прогнозирования HEVC или обработку прогнозирования по схеме, основанной на HEVC.
Кроме того, устройство 100 кодирования изображения может кодировать данные изображения неподвижного изображения, а также данные изображения движущегося изображения. В этом случае профиль неподвижного изображения (например, профиль неподвижного изображения) устанавливают в устройстве 100 кодирования изображения.
Как представлено на фиг. 25, устройство 100 кодирования изображения включает в себя A/D преобразователь 101, буфер 102 изменения компоновки экрана, модуль 103 операций, модуль 104 ортогонального преобразования, модуль 105 квантования, модуль 106 кодирования без потерь, буфер 107 накопления, модуль 108 обратного квантования и модуль 109 обратного ортогонального преобразования. Устройство 100 кодирования изображения дополнительно включает в себя модуль 110 операций, фильтр 111 контура, запоминающее устройство 112 кадра, модуль 113 прогнозирования внутри кадра, модуль 114 прогнозирования между кадрами, модуль 115 выбора прогнозируемого изображения и модуль 116 управления скоростью.
A/D преобразователь 101 выполняет A/D преобразование для данных изображения (аналоговых данных) входного изображения, вводимого в устройство 100 кодирования изображения. A/D преобразователь 101 подает преобразованные данные изображения (цифровые данные) в буфер 102 изменения компоновки экрана.
Буфер 102 изменения компоновки экрана сохраняет каждые данные изображения кадра для входного изображения, представляемого в порядке отображения, в указанном порядке. Буфер 102 изменения компоновки экрана изменяет порядок кадров входного изображения в порядке кодирования, в соответствии с Группой изображений (GOP). Другими словами, буфер 102 изменения компоновки экрана считывает данные изображения для кадров, сохраняемых в порядке отображения, в порядке кодирования. Буфер 102 изменения компоновки экрана подает считываемые данные изображения в модуль 103 операций. Кроме того, буфер 102 изменения компоновки экрана также подает считываемые данные изображения в модуль 113 прогнозирования внутри кадра и в модуль 114 прогнозирования между кадрами. Другими словами, данные изображения кадров подают в модуль 103 операций, модуль 113 прогнозирования внутри кадра и в модуль 114 прогнозирования между кадрами в порядке кодирования. Кроме того, когда входное изображение представляет собой неподвижное изображение, поскольку отсутствует концепция времени (поскольку, количество кадров равно 1), изменение компоновки пропускают.
Модуль 103 операций генерирует данные изображения для дифференциального изображения, полученного в результате вычитания прогнозируемого изображения из входного изображения, используя данные изображения входного изображения, считываемого из буфера 102 изменения компоновки экрана, и данные изображения прогнозируемого изображения, представляемого из модуля 113 прогнозирования внутри кадра или модуля 114 прогнозирования между кадрами, через модуль 115 выбора прогнозируемого изображения. Например, в случае изображения, в котором выполняется кодирование внутри кадра, модуль 103 операций генерирует дифференциальное изображение между входным изображением и прогнозируемым изображением, генерируемым в модуле 113 прогнозирования внутри кадра. Кроме того, например, в случае изображения, в котором выполняется кодирование между кадрами, модуль 103 операций генерирует дифференциальное изображение между входным изображением и прогнозируемым изображением, генерируемым модулем 114 прогнозирования между кадрами. Модуль 103 операций выводит сгенерированные данные изображения для дифференциального изображения в модуль 104 ортогонального преобразования.
Модуль 104 ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва для данных дифференциального изображения, передаваемого из модуля 103 операций. Модуль 104 ортогонального преобразования подает полученные коэффициенты преобразования в модуль 105 квантования.
Модуль 105 квантования квантует коэффициенты преобразования, переданные из модуля 104 ортогонального преобразования. Модуль 105 квантования устанавливает параметры квантования на основе информации, относящейся к целевому значению количества кодирования, представляемого из модуля 116 управления скоростью, и выполняет квантование. Модуль 105 квантования подает квантованные коэффициенты преобразования в модуль 106 кодирования без потерь.
Модуль 106 кодирования без потерь кодирует коэффициенты преобразования, квантованные модулем 105 квантования, в соответствии с произвольной схемой кодирования, и генерирует кодированные данные. Поскольку данные коэффициента квантуют под управлением модуля 116 управления скоростью, количество данных (количество кодирования) для кодированных данных становится целевым значением, установленным модулем 116 управления скоростью (или аппроксимируется до целевого значения).
Модуль 106 кодирования без потерь получает, например, информацию, обозначающую режим прогнозирования внутри кадра, из модуля 113 прогнозирования внутри кадра, и получает, например, информацию, обозначающую режим прогнозирования между кадрами, и информацию дифференциального вектора движения из модуля 114 прогнозирования между кадрами. Модуль 106 кодирования без потерь кодирует различного рода информацию, в соответствии с произвольной схемой кодирования, и устанавливает (мультиплексирует) кодированную информацию, как часть информации заголовка кодированных данных. Модуль 106 кодирования без потерь подает полученные кодированные данные, которые должны быть накоплены в буфере 107 накопления.
Примеры схемы кодирования модуля 106 кодирования без потерь включают в себя кодирование переменной длины и арифметическое кодирование. Что касается кодирования переменной длины, например, существует схема контекстно-адаптивного кодирования переменной длины, (CAVLC), определенная в H.264/AVC. Что касается арифметического кодирования, например, существует контекстно-адаптивное двоичное арифметическое кодирование (CABAC).
Буфер 107 накопления временно содержит кодированные данные, представляемые из модуля 106 кодирования без потерь. Буфер 107 накопления выводит содержащиеся в нем кодированные данные за пределы устройства 100 кодирования изображения в заданные моменты времени. Другими словами, буфер 107 накопления также используется как модуль передачи, который передает кодированные данные.
Коэффициенты преобразования, квантованные модулем 105 квантования, также подают в модуль 108 обратного квантования. Модуль 108 обратного квантования выполняет обратное квантование квантованных коэффициентов преобразования с помощью способа, соответствующего квантованию, выполняемому модулем 105 квантования. Модуль 108 обратного квантования подает полученные коэффициенты преобразования в модуль 109 обратного ортогонального преобразования.
Модуль 109 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициентов преобразования, передаваемых из модуля 108 обратного квантования с помощью способа, соответствующего обработке ортогонального преобразования, выполняемой модулем 104 ортогонального преобразования. Данные изображения дифференциального изображения восстанавливаются в результате обратного ортогонального преобразования. Модуль 109 обратного ортогонального преобразования подает восстановленные данные изображения дифференциального изображения в модуль 110 операций как результат обратного ортогонального преобразования.
Модуль 110 операций генерирует данные изображения для изображения, полученного в результате суммирования восстановленного дифференциального изображения и прогнозируемого изображения, используя результат обратного ортогонального преобразования, представляемый из модуля обратного ортогонального преобразование 109, и данные изображения прогнозируемого изображения, представляемые из модуля 113 прогнозирования внутри кадра, или модуля 114 прогнозирования между кадрами через модуль 115 выбора прогнозируемого изображения. Другими словами, локально реконструированное изображение (ниже называется "реконструированным изображением") получают в результате процесса суммирования. Модуль 110 операций подает данные изображения реконструированного изображения в фильтр 111 контура или в модуль 113 прогнозирования внутри кадра.
Фильтр 111 контура включает в себя фильтр удаления блочности, адаптивный фильтр контура и т.п., и выполняет соответствующую обработку фильтра для данных реконструированного изображения, передаваемого из модуля 110 операций. Например, фильтр 111 контура выполняет обработку фильтра удаления блочности для данных реконструированного изображения, и удаляет искажение блока для реконструированного изображения. Кроме того, например, фильтр 111 контура улучшает качество изображения реконструированного изображения путем выполнения обработки фильтра контура для результата обработки фильтра удаления блочности (данные изображения реконструированного изображения, из которых было удалено искажение блока), используя фильтр Винера.
Фильтр 111 контура может выполнять другую произвольную обработку фильтра для реконструированного изображения. Фильтр 111 контура может предоставлять информацию, используемую при обработке фильтра, такую как коэффициент фильтра, в модуль 106 кодирования без потерь, в соответствии с необходимостью, таким образом, что информация может быть кодирована.
Фильтр 111 контура подает данные изображения для реконструированного изображения (ниже называется "декодируемым изображением"), которые были подвергнуты обработке фильтра, как описано выше, в запоминающее устройство 112 кадра.
В запоминающем устройстве 112 кадра содержатся переданные данные изображения декодируемого изображения. Кроме того, запоминающее устройство 112 кадра передает сохраненные данные изображения декодируемого изображения в модуль 114 прогнозирования между кадрами, как опорное изображение, в заданные моменты времени.
Модуль 113 прогнозирования внутри кадра выполняет обработку прогнозирования для текущего изображения, которое представляет собой изображение кадра - цели обработки, и генерирует прогнозируемое изображение. Модуль 113 прогнозирования внутри кадра выполняет обработку прогнозирования в единицах заданных блоков (используя блок, как модуль обработки). Другими словами, модуль 113 прогнозирования внутри кадра генерирует прогнозируемое изображение для текущего блока, используя цель обработки в текущем изображении. В это время модуль 113 прогнозирования внутри кадра выполняет обработку прогнозирования (прогнозирование внутри экрана (которая также называется «прогнозирование внутри кадра»)), используя реконструированное изображение, представляемое из модуля 110 операций, в качестве опорного изображения. Другими словами, модуль 113 прогнозирования внутри кадра генерирует прогнозируемое изображение, используя значения пикселя для пикселей, расположенных рядом с текущим блоком, которые включены в реконструированное изображение. Значения пикселя для соседних пикселей, используемых для прогнозирования внутри кадра, представляют собой значения пикселей ранее обработанных пикселей для текущего изображения. При прогнозировании внутри кадра (то есть в схеме генерирования прогнозируемого изображения), множество способов (которые также называются "режимами прогнозирования внутри кадра") заранее подготавливают в качестве кандидатов. Модуль 113 прогнозирования внутри кадра выполняет прогнозирование внутри кадра, используя множество режимов прогнозирования внутри кадра, которые подготавливают заранее.
Модуль 113 прогнозирования внутри кадра генерирует прогнозируемые изображения во всех режимах прогнозирования внутри кадра, используемых в качестве кандидатов, выполняет оценку значения функции стоимости прогнозируемых изображений, используя входное изображение, передаваемое из буфера 102 изменения компоновки экрана, и выбирает оптимальный режим. Когда оптимальный режим прогнозирования внутри кадра будет выбран, модуль 113 прогнозирования внутри кадра подает прогнозируемое изображение, генерируемое в оптимальном режиме, в модуль 115 выбора прогнозируемого изображения.
Кроме того, как описано выше, модуль 113 прогнозирования внутри кадра соответствующим образом подает, например, информацию режима прогнозирования внутри кадра, обозначающую используемый режим прогнозирования внутри кадра, в модуль 106 кодирования без потерь таким образом, что информация кодируется.
Модуль 114 прогнозирования между кадрами выполняет обработку прогнозирования для текущего изображения, и генерирует прогнозируемое изображение. Модуль 114 прогнозирования между кадрами выполняет обработку прогнозирования в модулях заданных блоков (используя блок в качестве модуля обработки). Другими словами, модуль 114 прогнозирования между кадрами генерирует прогнозируемое изображение текущего блока, используемое, как цель обработки в текущем изображении. В это время модуль 114 прогнозирования между кадрами выполняет обработку прогнозирования, используя данные изображения для входного изображения, передаваемого из буфера 102 изменения компоновки экрана, и данные изображения декодируемого изображения, передаваемые из запоминающего устройства 112 кадра, в качестве опорного изображения. Декодируемое изображение представляет собой изображение (другое изображение, кроме текущего изображения) кадра, обработанного перед текущим изображением. Другими словами, модуль 114 прогнозирования между кадрами выполняет обработку прогнозирования (прогнозирование между экранами (которое также называется "прогнозирование между кадрами")), состоящее в генерировании прогнозируемого изображения, используя изображение другого изображения.
Прогнозирование между кадрами включает в себя прогнозирование движения и компенсацию движения. Более конкретно, модуль 114 прогнозирования между кадрами выполняет прогнозирование движения для текущего блока, используя входное изображение и опорное изображение, и обнаруживает вектор движения. Затем модуль 114 прогнозирования между кадрами выполняет обработку компенсации движения, в соответствии с детектированным вектором движения, используя опорное изображение, и генерирует прогнозируемое изображение (информацию изображения, прогнозируемого межу кадрами) текущего блока. При прогнозировании между кадрами (то есть, в схеме генерирования прогнозируемого изображения), множество способов (которые также называются "режимами прогнозирования между кадрами") заранее подготавливают в качестве кандидатов. Модуль 114 прогнозирования между кадрами выполняет прогнозирование между кадрами, используя множество режимов прогнозирования между кадрами, которые подготавливают заранее.
Модуль 114 прогнозирования между кадрами генерирует прогнозируемые изображения во всех режимах прогнозирования между кадрами, использующимися в качестве кандидатов. Модуль 114 прогнозирования между кадрами выполняет оценку значения функции стоимости прогнозируемых изображений, используя входное изображение, представляемое из буфера 102 изменения компоновки экрана, информацию генерируемого дифференциального вектора движения и т.п., и выбирает оптимальный режим. Когда оптимальный режим прогнозирования между кадрами будет выбран, модуль 114 прогнозирования между кадрами передает прогнозируемое изображение, генерируемое в оптимальном режиме, в модуль 115 выбора прогнозируемого изображения.
Модуль 114 прогнозирования между кадрами подает информацию, обозначающую используемый режим прогнозирования между кадрами, информацию, необходимую для выполнения обработки в режиме прогнозирования между кадрами, когда декодируют кодированные данные и т.п., в модуль 106 кодирования без потерь таким образом, что информация кодируется. В качестве необходимой информации используется информация сгенерированного дифференциального вектора движения, и в качестве информации о прогнозирования вектора движения используется флаг, обозначающий индекс прогнозирования вектора движения.
Модуль 115 выбора прогнозируемого изображения выбирает источник предоставления прогнозируемого изображения, которое подают в модуль 103 операций и в модуль 110 операций. Например, в случае кодирования внутри кадра, модуль 115 выбора прогнозируемого изображения выбирает модуль 113 прогнозирования внутри кадра, в качестве источника предоставления прогнозируемого изображения, и подает прогнозируемое изображение, переданное из модуля 113 прогнозирования внутри кадра, в модуль 103 операций и в модуль 110 операций. Кроме того, например, в случае кодирования между кадрами, модуль 115 выбора прогнозируемого изображения выбирает модуль 114 прогнозирования между кадрами, в качестве источника предоставления прогнозируемого изображения, и подает прогнозируемое изображение, представляемое из модуля 114 прогнозирования между кадрами, в модуль 103 операций и в модуль 110 операций.
Модуль 116 управления скоростью управляет скоростью операции квантования модуля 105 квантования на основе объема кодирования кодированных данных, накопленных в буфере 107 накопления таким образом, что не происходит ни переполнение, ни потеря значимости.
Устройство 100 кодирования изображения дополнительно включает в себя модуль 121 установки профиля.
Модуль 121 установки профиля устанавливает профиль, который применяют для кодирования данных изображения. Например, когда кодируют неподвижное изображение, модуль 121 установки профиля устанавливает профиль неподвижного изображения. Например, модуль 121 установки профиля устанавливает профиль, в соответствии с внешней инструкцией, такой как инструкция пользователя. Конечно, этот способ является произвольным, и профиль может быть установлен на основе любой информации. Когда профиль установлен, модуль 121 установки профиля подает информацию в модуль 106 кодирования без потерь.
Модуль 106 кодирования без потерь выполняет кодирование, в соответствии с профилем, установленным модулем 121 установки профиля. Например, когда профиль неподвижного изображения установлен модулем 121 установки профиля, модуль 106 кодирования без потерь ограничивает значение элемента синтаксиса, относящееся к обработке между изображениями. Конкретный пример такого ограничения был описан в разделе 0. Общий обзор.
Модуль кодирования без потерь
На фиг. 26 показана блок-схема, иллюстрирующая пример основной конфигурации модуля 106 кодирования без потерь по фиг. 25, которая относится к установке элемента синтаксиса. Как представлено на фиг. 25, модуль 106 кодирования без потерь включает в себя модуль 131 установки элемента синтаксиса и модуль 132 кодирования.
Модуль 131 установки элемента синтаксиса выполняет обработку, относящуюся к установке элемента синтаксиса. Например, модуль 131 установки элемента синтаксиса устанавливает элементы синтаксиса различных модулей NAL (nal_unit), таких как набор параметра видеоданных (VPS), набор параметра последовательности (SPS), набор параметра изображения (PPS) и заголовок среза. Модуль 131 установки элемента синтаксиса получает необходимую информацию из модулей обработки устройства 100 кодирования изображения, таких как модуль 113 прогнозирования внутри кадра и модуль 114 прогнозирования между кадрами, в соответствии с необходимостью, и устанавливает значение элемента синтаксиса на основе полученной информации.
Кроме того, модуль 131 установки элемента синтаксиса принимает обозначенный профиль из модуля 121 установки профиля. Модуль 131 установки элемента синтаксиса устанавливает элемент синтаксиса в соответствии с профилем, обозначенным модулем 121 установки профиля.
Например, когда профиль неподвижного изображения устанавливает модуль 121 установки профиля, модуль 131 установки элемента синтаксиса ограничивает значение элемента синтаксиса, относящееся к обработке между изображениями. Конкретный пример этого ограничения был описан в разделе 0. Общий обзор.
Модуль 131 установки элемента синтаксиса подает установленный элемент синтаксиса в модуль 132 кодирования.
Например, модуль 132 кодирования подает коэффициенты квантования данных изображения из модуля 105 квантования, кодирует полученные коэффициенты квантования, в соответствии с арифметическим кодированием и т.п., и получает кодированные данные. Модуль 132 кодирования подает полученные кодированные данные в буфер 107 накопления.
Кроме того, модуль 132 кодирования также кодирует другую информацию, кроме данных изображения, и подает кодированную информацию в буфер 107 накопления. Например, модуль 132 кодирования кодирует элемент синтаксиса, установленный модулем 131 установки элемента синтаксиса, и подает кодированный элемент синтаксиса в буфер 107 накопления.
Как описано выше, когда профиль неподвижного изображения установлен, модуль 106 кодирования без потерь ограничивает значение элемента синтаксиса, относящееся к обработке изображения между кадрами, и генерирует кодированные данные. Таким образом, устройство 100 кодирования изображения может предотвращать передачу избыточной информации и предотвращать снижение эффективности кодирования.
Кроме того, устройство 100 кодирования изображения может предотвращать увеличение ненужной нагрузки в процессе декодирования путем уменьшения избыточной информации в кодированных данных.
Кроме того, устройство 100 кодирования изображения может переключать профиль и легко кодировать, как неподвижное изображение, так и движущееся изображение в одной схеме.
Обработка кодирования потока
Далее, со ссылкой на блок-схему последовательности операций на фиг. 27 и 28, будет описан пример потока обработки кодирования, выполняемой устройством 100 кодирования изображения, представленной на фиг. 25.
Когда начинается обработка кодирования, на этапе S101, на фиг. 27, модуль 121 установки профиля устанавливает профиль, например, в соответствии с данными изображения, предназначенными для кодирования, в соответствии с внешней инструкцией, такой как инструкция пользователя.
На этапе S102, модуль 106 кодирования без потерь определяет, является или нет профиль, установленный на этапе S101, профилем неподвижного изображения (профиль, пригодный для кодирования данных изображения неподвижного изображения). Когда определяют, что установленный профиль представляет собой профиль движущегося изображения (профиль, пригодный для кодирования данных изображения движущегося изображения), обработка переходит на этап S103.
Когда данные изображения движущегося изображения кодируют, на этапе S103, A/D преобразователь 101 выполняет A/D преобразование изображения кадров (в изображениях) входного движущегося изображения.
На этапе S104, буфер 102 изменения компоновки экрана сохраняет изображения, которые были подвергнуты A/D преобразованию на этапе S103, и изменяет компоновку соответствующих изображений, размещенных в порядке отображения, в порядке кодирования.
На этапе S105, модуль 113 прогнозирования внутри кадра выполняет обработку прогнозирования внутри кадра для режима прогнозирования внутри кадра.
На этапе S106, модуль 114 прогнозирования между кадрами выполняет обработку прогнозирования между кадрами, в которой выполняется прогнозирование движения и компенсация движения режима прогнозирования между кадрами.
На этапе S107, модуль 115 выбора прогнозируемого изображения выбирает прогнозируемое изображение на основе значения функции стоимости и т.п. Другими словами, модуль 115 выбора прогнозируемого изображения выбирает либо прогнозируемое изображения, генерируемое при прогнозировании внутри кадра на этапе S105, или прогнозируемое изображение, генерируемое при прогнозировании между кадрами на этапе S106.
На этапе S108, модуль 103 операций рассчитывает разность между входным изображением, в котором порядок кадра изменен в результате обработки на этапе S104, и прогнозируемым изображением, выбранным при обработке на этапе S107. Другими словами, модуль 103 операций генерирует данные изображения для дифференциального изображения между входным изображением и прогнозируемым изображением. Полученные данные изображения дифференциального изображения меньше по количеству данных, чем оригинальные данные изображения. Таким образом, количество данных можно сжать так, чтобы оно было меньше, чем в том случае, когда изображение кодируют без изменения.
На этапе S109 модуль 104 ортогонального преобразования выполняет ортогональное преобразование для данных изображения дифференциального изображения, генерируемого при обработке на этапе S108.
На этапе S110, модуль 105 квантования квантует коэффициенты ортогонального преобразования, полученные в результате обработки на этапе S109, используя параметр квантования, рассчитанный модулем 116 управления скоростью.
На этапе S111, модуль 108 обратного квантования выполняет обратное квантование квантованных коэффициентов (которые также называются "коэффициентами квантования"), генерируемых при обработке на этапе S110, в соответствии с характеристиками, соответствующими характеристикам модуля 105 квантования.
На этапе S112, модуль 109 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициентов ортогонального преобразования, полученных при обработке на этапе S111.
На этапе S113 модуль 110 операций генерирует данные изображения для реконструированного изображения путем добавления прогнозируемого изображения, выбранного при обработке на этапе S107, в дифференциальное изображение, восстановленное при обработке на этапе S112.
На этапе S114, фильтр 111 контура выполняет обработку фильтра контура для данных изображения реконструированного изображения, генерируемого при обработке на этапе S113. В результате, например, удаляют искажение блочности в реконструированном изображении.
На этапе S115 в запоминающем устройстве 112 кадра сохраняют декодируемое изображение, полученное при обработке на этапе S114.
На этапе S116 модуль 106 кодирования без потерь кодирует квантованные коэффициенты, полученные в результате обработки на этапе S110. Другими словами, выполняют кодирование без потерь, такое как кодирование переменной длины или арифметическое кодирование для данных, соответствующих дифференциальному изображению.
В это время модуль 106 кодирования без потерь кодирует информацию, относящуюся к режиму прогнозирования для прогнозируемого изображения, выбранного при обработке на этапе S107, и добавляет кодированную информацию к кодированным данным, полученным в результате кодирования дифференциального изображения. Другими словами, модуль 106 кодирования без потерь также кодирует информацию оптимального режима прогнозирования внутри кадра, представляемую из модуля 113 прогнозирования внутри кадра, информацию в соответствии с оптимальным режимом прогнозирования между кадрами, представляемую из модуля 114 прогнозирования между кадрами, и т.п., и добавляет кодированную информацию к кодированным данным.
Кроме того, модуль 106 кодирования без потерь также устанавливает и кодирует элементы синтаксиса различного вида модулей NAL и т.п., и добавляет кодированные элементы синтаксиса к кодированным данным.
На этапе S117, буфер 107 накопления накапливает кодированные данные, полученные в результате обработки на этапе S115. Кодированные данные, накопленные в буфере 107 накопления, соответствующим образом считывают и передают на сторону декодирования через путь передачи или носитель записи.
На этапе S118, модуль 116 управления скоростью управляет скоростью операций квантования модуля 105 квантования на основе объема кодирования (сгенерированного объема кодирования) кодируемых данных, накопленных в буфере 107 накопления в ходе обработки на этапе S117 таким образом, что не возникает ни переполнение, ни потеря значимости. Кроме того, модуль 116 управления скоростью подает информацию, относящуюся к параметру квантования, в модуль 105 квантования. Когда обработка на этапе S118 заканчивается, заканчивается обработка кодирования.
Кроме того, когда профиль, установленный на этапе S101, определяют, как профиль неподвижного изображения (профиль, пригодный для кодирования данных изображения неподвижного изображения) на этапе S102, обработка переходит на этап S121 по фиг. 28.
В этом случае выполняется обработка, аналогичная обработке, выполняемой для движущегося изображения на соответствующих этапах по фиг. 27 для данных изображения входного неподвижного изображения на этапах S121-S134.
Здесь, когда кодируют данные изображения неподвижного изображения, поскольку данные изображения не имеют концепции времени (присутствует одно изображение), обработку прогнозирования между кадрами на этапе S106 пропускают. Таким образом, обработку выбора прогнозируемого изображения на этапе S107 также пропускают.
Другими словами, обработка на этапах S121-S123 на фиг. 28 соответствует обработке на этапах S103 - S105 на фиг. 27. Кроме того, обработка на этапах S124-S134 на фиг. 28 соответствует обработке на этапах S108-S118 на фиг. 27.
Здесь, при обработке на этапе S132, на фиг. 28, значение элемента синтаксиса, относящееся к обработке между изображениями, ограничено. Детали такой обработки будут описаны ниже. Когда обработка на этапе S134, на фиг. 28 заканчивается, обработка кодирования заканчивается.
Поток обработки кодирования без потерь
Далее, со ссылкой на блок-схему последовательности операций на фиг. 29, будет описан примерный поток обработки кодирования без потерь, выполняемой на этапе S132, на фиг. 28.
Когда начинается обработка кодирования без потерь при кодировании неподвижного изображения, на этапе S151, модуль 131 установки элемента синтаксиса устанавливает элемент синтаксиса на основе ограничения для неподвижного изображения. Например, как описано выше в разделе <0. Общий обзор>, для уменьшения передачи избыточной информации, когда применяется профиль неподвижного изображения, модуль 131 установки элемента синтаксиса ограничивает значение элемента синтаксиса, относящееся к обработке между кадрами.
На этапе S152, модуль 132 кодирования кодирует элемент синтаксиса, установленный на этапе S151.
На этапе S153, модуль 132 кодирования кодирует коэффициенты ортогонального преобразования, квантованные модулем 105 квантования. Когда обработка на этапе S153 заканчивается, обработка кодирования без потерь заканчивается, и обработка возвращается к фиг. 28.
Поток обработки установки элемента синтаксиса
Далее, со ссылкой на блок-схему последовательности операций на фиг. 30, будет описан примерный поток обработки установки элемента синтаксиса, выполняемой на этапе S151 на фиг. 29.
Когда начинается обработка установки элемента синтаксиса, на этапе S171, модуль 131 установки элемента синтаксиса устанавливает в 0 параметры vps_max_sub_layers_minus1, относящиеся к подуровню набора параметров видеоданных (VPS), и параметр sps_max_sub_layers_minus1, относящийся к подуровню набора параметров последовательности (SPS).
На этапе S172, модуль 131 установки элемента синтаксиса устанавливает элемент синтаксиса general_profile_idc для уровня слоя профиля (profile_tier_level()), как значение, обозначающее профиль неподвижного изображения.
На этапе S173, модуль 131 установки элемента синтаксиса устанавливает другие элементы синтаксиса для уровня слоя профиля (profile_tier_level()).
На этапе S174, модуль 131 установки элемента синтаксиса устанавливает в 0 значение элемента синтаксиса vps_num_hrd_parameters, относящееся к виртуальному опорному декодеру, в наборе параметров видеоданных (VPS).
На этапе S175, модуль 131 установки элемента синтаксиса устанавливает в 0 значение элемента синтаксиса restricted_ref_pic_lists_flag, относящееся к срезу Ρ и к срезу B в наборе параметров последовательности (SPS).
На этапе S176, модуль 131 установки элемента синтаксиса устанавливает в 0 значение элемента синтаксиса num_short_term_ref_pic_sets, относящееся к короткому сроку, в наборе параметров последовательности (SPS).
На этапе S177, модуль 131 установки элемента синтаксиса устанавливает в 0 значение элемента синтаксиса long_term_ref_pics_present_flag, относящееся к длительному сроку, в наборе параметров последовательности (SPS).
На этапе S178, модуль 131 установки элемента синтаксиса устанавливает в 0 значение элемента синтаксиса sps_temporal_mvp_enable_flag, относящееся к вектору движения в наборе параметров последовательности (SPS).
На этапе S179, модуль 131 установки элемента синтаксиса устанавливает в 0 или 1 как значение элемента синтаксиса num_ref_idx_l0_default_active minus1, относящееся к L0, так и значение элемента синтаксиса num_ref_idx_l1_default_active minus1, относящееся к L1, в наборе параметров изображения (PPS).
На этапе S180, модуль 131 установки элемента синтаксиса устанавливает в 0 значение элемента синтаксиса lists_modification_present_flag набора параметров изображения (PPS), обозначающее, присутствует ли элемент синтаксиса ref_pic_list_modification в текущем заголовке среза.
На этапе S181, модуль установки элемента синтаксиса 131 устанавливает в 0 значение элемента синтаксиса log2_parallel_merge_level_minus2 набора параметров изображения (PPS), обозначающее уровень параллельной обработки режима слияния и режима пропуска при обработке прогнозирования.
На этапе S182, модуль установки элемента синтаксиса 131 устанавливает в 0 значение элемента синтаксиса scaling_list_pred_mode_flag относящееся к режиму прогнозирования списка масштабирования (scaling_list_data()), и устанавливает в 0 или 1 значение элемента синтаксиса scaling_list_pred_matrix_id_delta, относящееся к матрице прогнозирования списка масштабирования (scaling_list_data()).
На этапе S183, модуль 131 установки элемента синтаксиса устанавливает значение элемента синтаксиса slice_type, относящееся к типу среза, в заголовке среза (slice_header()), как значение, обозначающее i-й срез.
На этапе S184, модуль 131 установки элемента синтаксиса устанавливает тип модуля NAL (nal_unit_type) для VCL в IDR_W_LP или IDR_N_LP.
На этапе S185, модуль 131 установки элемента синтаксиса устанавливает другие элементы синтаксиса. Например, на этапе S185, модуль 131 установки элемента синтаксиса может устанавливать в 0 значение (флаг) элемента синтаксиса weighted_pred_flag, относящееся к взвешенному прогнозированию Ρ среза, или элемент (флаг) синтаксиса weighted_bipred_flag, относящийся к взвешенному прогнозированию В среза в наборе параметров изображения (PPS). Когда обработка на этапе S185 заканчивается, обработка возвращается к фиг. 29.
Конечно, порядок обработки описанных выше соответствующих этапов является произвольным, и порядок обработки соответствующих этапов может быть изменен, и обработка на множестве этапов может выполняться параллельно. В частности, как описано выше в<0-1> до <0-3>, порядок обработки на этапах S171-S173 является произвольным.
Кроме того, поскольку ограничения значений элементов синтаксиса являются независимыми друг от друга, все значения группы элементов синтаксиса не должны быть ограничены, и только значения некоторых элементов синтаксиса могут быть ограничены. Другими словами, среди описанных выше этапов при обработке установки элемента синтаксиса на фиг. 30, может выполняться только обработка на некоторых этапах.
Кроме того, поскольку элементы синтаксиса, значение которых ограничено, не ограничены описанными выше примерами, обработка по ограничению значений элемента синтаксиса, которые не упомянуты выше, может быть добавлена в обработке установки элемента синтаксиса на фиг. 30.
В результате выполнения соответствующей обработки, как описано выше, устройство 100 кодирования изображения может предотвращать передачу избыточной информации и улучшить эффективность кодирования информации сжатия изображений, предназначенной для вывода, когда выполняют кодирование на основе профиля, для кодирования неподвижного изображения.
2. Второй вариант осуществления
Устройство кодирования изображения
Кроме того, желательно выбрать профиль в соответствии с входным изображением. В этом отношении, может быть определено, является ли входное изображение движущимся изображением или неподвижным изображением, и соответствующий профиль может быть установлен в соответствии с результатом определения.
На фиг. 31 показана блок-схема, иллюстрирующая примерную конфигурацию устройства кодирования изображения, в качестве примера устройства обработки изображения, в котором применяется настоящая технология в этом случае. Например, устройство 200 кодирования изображения, представленное на фиг. 31, кодирует данные изображения для движущегося изображения и неподвижного изображения, используя обработку прогнозирования HEVC или обработку прогнозирования в схеме на основе HEVC.
Устройство 200 кодирования изображения, в основном, имеет ту же конфигурацию, как и у устройства 100 кодирования изображения, и выполняет ту же обработку. Устройство 200 кодирования изображения включает в себя модуль 211 определения, в дополнение к конфигурации устройства 100 кодирования изображения.
Модуль 211 определения получает информацию изображения из буфера 102 изменения компоновки экрана, анализирует информацию изображения, и определяет, являются ли данные изображения для цели кодирования движущимся изображением или неподвижным изображением. Модуль 211 определения подает результат определения в модуль 121 установки профиля.
Модуль 121 установки профиля устанавливает соответствующий профиль, в соответствии с результатом определения, переданным из модуля 211 определения. Другими словами, например, когда модуль 211 определения определяет, что данные изображения - цели кодирования представляют собой движущееся изображение, модуль 121 установки профиля устанавливает профиль движущегося изображения. Кроме того, например, когда модуль 211 определения определяет, что данные изображения - цели кодирования представляют собой неподвижное изображение, модуль 121 установки профиля устанавливает профиль неподвижного изображения (например, профиль неподвижного кадра).
Когда профиль установлен, модуль 121 установки профиля подает информацию в модуль 106 кодирования без потерь. Модуль 106 кодирования без потерь выполняет кодирование в соответствии с профилем, установленным модулем 121 установки профиля.
В результате, устройство 200 кодирования изображения может устанавливать профиль в соответствии с входными данными изображения, без обозначения, поступающего извне, например, от пользователя. Другими словами, устройство 200 кодирования изображения может предотвращать передачу избыточной информации и улучшать эффективность кодирования в информации сжатия изображений, предназначенной для вывода без обозначения, поступающей извне, например, от пользователя.
Кроме того, устройство 200 кодирования изображения может предотвращать увеличение ненужной нагрузки при обработке декодирования, путем уменьшения избыточной информации кодированных данных.
Кроме того, устройство 200 кодирования изображения может кодировать, как неподвижное изображение, так и движущееся изображение, используя одну схему.
Поток обработки кодирования
Далее, со ссылкой на блок-схемы последовательности операций на фиг. 32 и 33, будет описан примерный поток обработки кодирования, выполняемой устройством 200 кодирования изображения в данном случае.
Когда начинается обработка кодирования, на этапе S201, на фиг. 32, модуль 211 определения определяет, является или нет входное изображение неподвижным изображением.
На этапе S202 модуль 121 установки профиля устанавливает профиль в соответствии с результатом определения, полученным на этапе S201.
Далее, та же обработка, что и на этапах S102-S118 на фиг. 27, выполняется на этапах S203-S219, на фиг. 32.
На этапе S203, на фиг. 32, когда определяют, что профиль неподвижного изображения был установлен, обработка переходит на этап S221, на фиг. 33. Та же обработка, что и на этапах S121-S134, на фиг. 28, выполняется на этапах S221-S234, на фиг. 33.
В результате выполнения соответствующей обработки, как описано выше, устройство 200 кодирования изображения может устанавливать профиль в соответствии с данными входного изображения, с обозначением, поступающим извне, например, от пользователя, предотвращать передачу избыточной информации, и улучшать эффективность кодирования информации сжатия изображений, для вывода.
3. Третий вариант осуществления
Устройство декодирования изображения
Далее, будет описано декодирование кодированных данных, которые были кодированы, как описано выше. На фиг. 34 показана блок-схема, иллюстрирующая пример основной конфигурации устройства декодирования изображения, соответствующего устройству 100 кодирования изображения на фиг. 25 или устройству 200 кодирования изображения по фиг. 31, в качестве примера устройства обработки изображения, в котором применяется настоящая технология.
Устройство 300 декодирования изображения, представленное на фиг. 34, декодирует кодированные данные, генерируемые устройством 100 кодирования изображения или устройством 200 кодирования изображения, в соответствии со способом декодирования, соответствующим его способу кодирования.
Как представлено на фиг. 34, устройство 300 декодирования изображения включает в себя буфер 301 накопления, модуль 302 декодирования без потерь, модуль 303 обратного квантования, модуль 304 обратного ортогонального преобразования, модуль 305 операций, фильтр 306 контура, буфер 307 изменения компоновки экрана и D/A преобразователь 308. Устройство 300 декодирования изображения дополнительно включает в себя запоминающее устройство 309 кадра, модуль 310 прогнозирования внутри кадра, модуль 311 прогнозирования между кадрами и модуль 312 выбора прогнозируемого изображения.
Буфер 301 накопления также функционирует как модуль приема, который принимает передаваемые кодированные данные. Буфер 301 накопления принимает и накапливает передаваемые кодированные данные, и подает эти кодированные данные в модуль 302 декодирования без потерь в заданные моменты времени. Кодированные данные включают в себя информацию, необходимую для декодирования, такую как информация режима прогнозирования. Модуль 302 декодирования без потерь декодирует информацию, кодированную модулем 106 кодирования без потерь, которую подают из буфера 301 накопления, в соответствии со схемой декодирования, соответствующей его схеме кодирования. Модуль 302 декодирования без потерь подает квантованные данные коэффициента дифференциального изображения, полученные в результате декодирования, в модуль 303 обратного квантования.
Кроме того, модуль 302 декодирования без потерь определяет, является ли режим, выбранный, как оптимальный режим прогнозирования, режимом прогнозирования внутри кадра или режимом прогнозирования между кадрами, и подает информацию, относящуюся к режиму оптимального прогнозирования, в режим, определенный для выбора, то есть, в модуль 310 прогнозирования внутри кадра или в модуль 311 прогнозирования между кадрами. Другими словами, например, когда режим прогнозирования внутри кадра выбирают, как оптимальный режим прогнозирования в устройстве кодирования изображения, информацию, относящуюся к оптимальному режиму прогнозирования, подают в модуль 310 прогнозирования внутри кадра. Кроме того, например, когда выбирают режим прогнозирования между кадрами, как оптимальный режим прогнозирования в устройстве кодирования изображения, информацию, относящуюся к оптимальному режиму прогнозирования, подают в модуль 311 прогнозирования между кадрами.
Кроме того, например, модуль 302 декодирования без потерь передает информацию, необходимую для обратного квантования, такую как матрица квантования и параметр квантования, в модуль 303 обратного квантования.
Модуль 303 обратного квантования выполняет обратное квантование данных квантованного коэффициента, полученных в результате декодирования, выполняемого модулем 302 декодирования без потерь, в соответствии со схемой, которая соответствует схеме квантования модуля 105 квантования. Модуль 303 обратного квантования представляет собой модуль обработки, аналогичный модулю 108 обратного квантования. Другими словами, описание модуля 303 обратного квантования также может применимо к модулю 108 обратного квантования. Здесь необходимо выполнить изменения и считать, например, места назначения входа и выхода данных, в соответствии с устройством.
Модуль 303 обратного квантования подает полученные данные коэффициента в модуль 304 обратного ортогонального преобразования.
Модуль 304 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициентов ортогонального преобразования, представляемых из модуля 303 обратного квантования, в соответствии со схемой, которая соответствует схеме ортогонального преобразования модуля 104 ортогонального преобразования. Модуль 304 обратного ортогонального преобразования представляет собой модуль обработки, аналогичный модулю 109 обратного ортогонального преобразования. Другими словами, описание модуля 304 обратного ортогонального преобразования может также применяться к модулю 109 обратного ортогонального преобразования. Здесь необходимо изменить и читать, например, места назначения ввода и вывода данных, в соответствии с устройством.
Данные изображения для дифференциального изображения восстанавливают при обработке обратного ортогонального преобразования. Восстановленные данные изображения дифференциального изображения соответствуют данным изображения дифференциального изображения перед тем, как было выполнено ортогональное преобразование в устройстве кодирования изображения. Далее, восстановленные данные изображения дифференциального изображения, полученные при обработке обратного ортогонального преобразования модуля 304 обратного ортогонального преобразования, также называются "декодированными остаточными данными". Модуль 304 обратного ортогонального преобразования подает декодированные остаточные данные в модуль 305 операций. Кроме того, в модуль 305 операций подают данные изображения прогнозируемого изображения из модуля 310 прогнозирования внутри кадра или модуля 311 прогнозирования между кадрами через модуль 312 выбора прогнозируемого изображения.
Модуль 305 операций получает данные изображения для реконструированного изображения, полученные путем добавления дифференциального изображения и прогнозируемого изображения, используя декодированные остаточные данные и данные изображения прогнозируемого изображения. Реконструированное изображение соответствует входному изображению перед вычитанием прогнозируемого изображения в модуле 103 операций. Модуль 305 операций подает реконструированное изображение в фильтр 306 контура и в модуль 310 прогнозирования внутри кадра.
Фильтр 306 контура, соответственно, выполняет обработку фильтра контура, такую как обработка фильтра удаления блочности или обработка адаптивного фильтра контура для представляемого реконструированного изображения, и генерирует декодированное изображение. Например, фильтр 306 контура выполняет обработку фильтра удаления блочности для реконструированного изображения, и удаляет искажение блоков. Кроме того, например, фильтр 306 цепи контура улучшает качество изображения, путем выполнения обработки фильтра контура для результата обработки фильтра удаления блочности (реконструированное изображение, в котором было удалено искажение блоков), используя фильтр Винера.
Тип обработки фильтра, выполняемый фильтром 306 контура, является произвольным, и может выполняться любая другая обработка фильтра. Кроме того, фильтр 306 контура может выполнять обработку фильтра, используя коэффициент фильтра, представляемый из устройства кодирования изображения.
Фильтр 306 контура подает декодированное изображение, используемое, как результат обработки фильтра, в буфер 307 изменения компоновки экрана и запоминающее устройство 309 кадра.
Буфер 307 изменения компоновки экрана выполняет изменение компоновки порядка кадров для декодированного изображения. Другими словами, буфер 307 изменения компоновки экрана изменяет компоновку изображения для соответствующих кадров, размещенных в порядке кодирования в буфере 102 изменения компоновки экрана, на порядок оригинального отображения. Другими словами, буфер 307 изменения компоновки экрана сохраняет данные изображения декодируемых изображений соответствующих кадров, представляемых в порядке кодирования, в порядке кодирования, считывает данные изображения декодированных изображений соответствующих кадров, сохраненных в порядке кодирования, в порядке отображения, и подает считанные данные изображения в D/A преобразователь 308. D/A преобразователь 308 выполняет D/A преобразование декодированного изображения (цифровых данных) соответствующих кадров, представляемых из буфера 307 изменения компоновки экрана, и выводит преобразованные изображения для их отображения на дисплее (не показан), как аналоговые данные.
В запоминающем устройстве 309 кадра сохраняют переданные декодированные изображения, и подают сохраненные декодированные изображения в модуль 311 прогнозирования между кадрами, как опорное изображение, в заданный моменты времени или на основе запроса, поступающего извне, например, из модуля 311 прогнозирования между кадрами.
В модуль 310 прогнозирования внутри кадра, соответственно, подают, например, информацию, обозначающую режим прогнозирования внутри кадра, полученную в результате декодирования информации заголовка из модуля 302 декодирования без потерь. Модуль 310 прогнозирования внутри кадра выполняет прогнозирование внутри кадра, в режиме прогнозирования внутри кадра (оптимальном режиме прогнозирования внутри кадра), используемом в модуле 113 прогнозирования внутри кадра, и генерирует прогнозируемое изображение. В это время модуль 310 прогнозирования внутри кадра выполняет прогнозирование внутри кадра, используя данные изображения для реконструированного изображения, представляемого из модуля 305 операций. Другими словами, модуль 310 прогнозирования внутри кадра использует реконструированное изображение, как опорное изображение (соседний пиксель). Модуль 310 прогнозирования внутри кадра подает сгенерированное прогнозируемое изображение в модуль 312 выбора прогнозируемого изображения.
Модуль 311 прогнозирования между кадрами получает информацию (информацию оптимального режима прогнозирования, информацию опорного изображения и т.п.), полученную в результате декодирования информации заголовка из модуля 302 декодирования без потерь.
Модуль 311 прогнозирования между кадрами выполняет прогнозирование между кадрами, используя опорное изображение, полученное из запоминающего устройства 309 кадра в режиме прогнозирования между кадрами (оптимальный режим прогнозирования между кадрами), обозначенном информацией оптимального режима прогнозирования, полученной из модуля 302 декодирования без потерь, и генерирует прогнозируемое изображение.
Модуль 312 выбора прогнозируемого изображения подает прогнозируемое изображение, принятое из модуля 310 прогнозирования внутри кадра, или прогнозируемое изображение, полученное из модуля 311 прогнозирования между кадрами, в модуль 305 операций. Затем модуль 305 операций добавляет прогнозируемое изображение к декодируемым остаточным данным (информация дифференциального изображения), полученным из модуля 304 обратного ортогонального преобразования, и получает реконструированное изображение.
Устройство 300 декодирования изображения дополнительно включает в себя модуль 321 определения профиля.
Модуль 321 определения профиля получает информацию, относящуюся к профилю кодируемых данных, которая включена в кодированные данные (поток битов), передаваемый со стороны кодирования (например, из устройства 100 кодирования изображения или из устройства 200 кодирования изображения) из модуля 302 декодирования без потерь, и определяет набор профиля на стороне кодирования (например, в устройстве 100 кодирования изображения или в устройстве 200 кодирования изображения) на основе полученной информации.
Например, модуль 321 определения профиля определяет, был или нет установлен профиль неподвижного изображения (например, профиль неподвижного изображения).
Модуль 321 определения профиля подает результат определения в модуль 302 декодирования без потерь. Модуль 302 декодирования без потерь декодирует кодированные данные в соответствии с результатом определения профиля, переданным из модуля 321 определения профиля. Например, когда модуль 321 определения профиля определяет, что был установлен профиль неподвижного изображения (например, профиль неподвижного изображения), модуль 302 декодирования без потерь анализирует элемент синтаксиса, относящийся к обработке между изображениями, в состоянии, в котором значение ограничено. Конкретный пример способа ограничения значения элемента синтаксиса был описан выше в разделе 0. Общий обзор.
Модуль декодирования без потерь
На фиг. 35 показана блок-схема, иллюстрирующая примерную основную конфигурацию модуля 302 декодирования без потерь по фиг. 34, которая относится к анализу элемента синтаксиса. Как представлено на фиг. 35, модуль 302 декодирования без потерь включает в себя модуль 331 декодирования и модуль 332 анализа элемента синтаксиса.
Модуль 331 декодирования декодирует кодированные данные, переданные из буфера 301 накопления. Модуль 331 декодирования подает, например, информацию, относящуюся к профилю, которую получают путем декодирования кодированных данных, в модуль 321 определения профиля.
Модуль 321 определения профиля определяет установленный профиль, как описано выше, и подает информацию, обозначающую профиль, в модуль 332 анализа элемента синтаксиса.
Кроме того, например, модуль 331 декодирования подает квантованные коэффициенты ортогонального преобразования, полученные в результате декодирования кодированных данных, в модуль 303 обратного квантования. Кроме того, например, модуль 331 декодирования подает элемент синтаксиса, полученный в результате декодирования кодированных данных, в модуль 332 анализа элемента синтаксиса.
Модуль 332 анализа элемента синтаксиса анализирует различного вида синтаксис, представляемый из модуля 331 декодирования, и управляет операциями соответствующих модулей обработки устройства 300 декодирования изображения, таких как модуль 310 прогнозирования внутри кадра и модуль 311 прогнозирования между кадрами, в соответствии с результатом анализа.
Модуль 332 анализа элемента синтаксиса анализирует элемент синтаксиса, в соответствии с результатом определения, переданным из модуля 321 определения профиля. Например, когда определяют, что был установлен профиль неподвижного изображения (например, профиль неподвижного изображения), модуль 332 анализа элемента синтаксиса анализирует элемент синтаксиса, относящийся к обработке между изображениями, в состоянии, в котором значение ограничено. Конкретный пример способа ограничения значения элемента синтаксиса был описан выше в разделе 0. Общий обзор.
В результате, модуль 332 анализа элемента синтаксиса может исключать анализ ненужного элемента синтаксиса в соответствии с установленным профилем (становится возможным пропускать элемент синтаксиса). Другими словами, даже когда ненужная информация включена в кодированные данные - цели декодирования, устройство 300 декодирования изображения может, соответственно, пропускать ненужную информацию, в соответствии с установленным профилем, и предотвращать ненужное увеличение нагрузки при обработке декодирования.
Кроме того, устройство 300 декодирования изображения может декодировать, как кодированные данные неподвижного изображения, так и кодированные данные подвижного изображения, используя одну схему.
Поток декодирования обработки
Далее, примерный поток обработки декодирования, выполняемой устройством 300 декодирования изображения, будет описан со ссылкой на блок-схемы последовательности операций на фиг. 36 и 37.
Когда обработка декодирования начинается на этапе S301, модуль 302 декодирования без потерь декодирует профиль.
На этапе S302, модуль 321 определения профиля определяет, является ли профиль, установленный в кодированных данных, профилем неподвижного изображения, на основе профиля, декодируемого на этапе S301. Когда определяют, что был установлен профиль движущегося изображения, обработка переходит на этап S303, и различные виды обработки (обработка этапов S303 к S313) декодирования кодированных данных движущегося изображения выполняются следующим образом.
На этапе S303, модуль 332 анализа элемента синтаксиса из модуля 302 декодирования без потерь анализируют элемент синтаксиса, полученный из кодированных данных, и устанавливают различные виды параметров, используемых для декодирования.
На этапе S304, буфер 301 накопления накапливает переданные потоки битов (кодированные данные). На этапе S305, модуль 302 декодирования без потерь декодирует потоки битов (кодированные данные), поданные из буфера 301 накопления. Другими словами, декодируют, например, данные I кадра, Ρ кадра и В кадра, кодированное модулем кодирования без потерь 106. В это время также декодируют различного вида информацию, помимо данных изображения, включенных в поток битов, такую как информация заголовка.
На этапе S306, модуль 303 обратного квантования выполняет обратное квантование квантованных коэффициентов, полученных в результате обработки на этапе S305.
На этапе S307, модуль 304 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициентов, обратно квантованных на этапе S306.
На этапе S308, модуль 310 прогнозирования внутри кадра или модуль 311 прогнозирования между кадрами выполняет обработку прогнозирования, и генерирует прогнозируемое изображение. Другими словами, обработку прогнозирования выполняют в режиме прогнозирования, для которого определяют, что он применялся во время кодирования в модуле 302 декодирования без потерь. Более конкретно, например, когда применяется прогнозирование внутри кадра во время кодирования, модуль 310 прогнозирования внутри кадра генерирует прогнозируемое изображение в режиме прогнозирования внутри кадра, распознанном, как оптимальный, во время кодирования. Кроме того, например, когда прогнозирование между кадрами применяется во время кодирования, модуль 311 прогнозирования между кадрами генерирует прогнозируемое изображение в режиме прогнозирования между кадрами, распознанном, как оптимальный во время кодирования.
На этапе S309, модуль 305 операций добавляет прогнозируемое изображение, сгенерированное на этапе S308, к дифференциальному изображению, полученному в результате обратного ортогонального преобразования на этапе S307. В результате этого получают данные реконструированного изображения.
На этапе S310, фильтр 306 контура соответствующим образом выполняет обработку фильтра контура, такую как обработка фильтра удаления блочности или обработка адаптивного фильтра контура для данных изображения в реконструированном изображении, полученном при обработке на этапе S309.
На этапе S311, буфер 307 изменения компоновки экрана изменяет компоновку кадров реконструированного изображения, которое было подвергнуто обработке фильтра на этапе S310. Другими словами, порядок кадров, компоновка которых была изменена во время кодирования, повторно изменяют на оригинальный порядок отображения.
На этапе S312, D/A преобразователь 308 выполняет D/A преобразование изображения, в котором порядок кадров был повторно изменен на этапе S311. Изображение выводят в устройство отображения (не показан) таким образом, что изображение отображается.
На этапе S313, в запоминающем устройстве 309 кадра сохраняется изображение, которое было подвергнуто обработке фильтра на этапе S310.
Когда заканчивается обработка на этапе S313, заканчивается обработка декодирования.
Кроме того, когда определяют, что был установлен профиль неподвижного изображения (профиль, пригодный для кодирования данных изображения для неподвижного изображения), на этапе S302, обработка переходит на этап S321, на фиг. 37.
В этом случае, на этапах S321-S331, выполняется такая же обработка, как и обработка, выполняемая для входного движущегося изображения на соответствующих этапах на фиг. 36 для данных изображения входного неподвижного изображения.
Другими словами, обработка на этапах S321-S331 на фиг. 37 соответствует обработке на этапах S303-S313 на фиг. 36.
Здесь, когда данные изображения неподвижного изображения кодируют, поскольку данные изображения не имеют концепции времени (присутствует одиночное изображение), на этапе S326, генерируется прогнозируемое изображение в результате прогнозирования внутри кадра.
Кроме того, при обработке на этапе S321, элемент синтаксиса анализируют состояние, в котором ограничено значение элемента синтаксиса, относящегося к обработке изображения между кадрами. Детали этой обработки будут описаны ниже.
Когда заканчивается обработка на этапе S331, заканчивается обработка декодирования.
Поток обработки анализа элемента синтаксиса
Далее, со ссылкой на блок-схему последовательности операций на фиг. 38, будет описан примерный поток обработки анализа элемента синтаксиса, выполняемый на этапе S321 по фиг. 37.
Когда начинается обработка анализа элемента синтаксиса, на этапе S351, модуль 332 анализа элемента синтаксиса определяет, что параметр vps_max_sub_layers_minus1, относящийся к подуровню набора параметров видеоданных (VPS), и параметр sps_max_sub_layers_minus1, относящийся к подуровню набора параметров последовательности (SP), равны 0.
На этапе S352, модуль 332 анализа элемента синтаксиса определяет, что элемент синтаксиса general_profile_idc уровня слоя профиля (profile_tier_level) равен значению, обозначающему профиль неподвижного изображения.
На этапе S353, модуль 332 анализа элемента синтаксиса определяет другие элементы синтаксиса уровня слоя профиля (profile_tier_level).
На этапе S354, модуль 332 анализа элемента синтаксиса определяет, что значение элемента синтаксиса vps_num_hrd_parameters, относящееся к виртуальному опорному декодеру в наборе параметров видеоданных (VPS), равно 0.
На этапе S355, модуль 332 анализа элемента синтаксиса определяет, что значение элемента синтаксиса restricted_ref_pic_lists_flag, относящееся к срезу Ρ и срезу B в наборе параметров последовательности (SP), равно 0.
На этапе S356, модуль анализа элемента синтаксиса 332 определяет, что значение элемента синтаксиса num_short_term_ref_pic_sets, относящееся к короткому сроку в наборе параметров последовательности (SP), равно 0.
На этапе S357, модуль анализа элемента синтаксиса 332 определяет, что значение элемента синтаксиса long_term_ref_pics_present_flag, относящееся к длительному сроку в наборе параметров последовательности (SP), равно 0.
На этапе S358, модуль анализа элемента синтаксиса 332 определяет, что значение элемента синтаксиса sps_temporal_mvp_enable_flag, относящееся к вектору движения в наборе параметров последовательности (SP), равно 0.
На этапе S359, модуль анализа элемента синтаксиса 332 определяет, что и значение элемента синтаксиса num_ref_idx_l0_default_active minus 1, относящееся к L0, и значение элемента синтаксиса num_ref_idx_l1_default_active minus1, относящееся к L1 в наборе параметров изображения (PPS), равно 0 или 1.
На этапе S360, модуль анализа элемента синтаксиса 332 определяет, что значение элемента синтаксиса lists_modification_present_flag набора параметров изображения (PPS), обозначающее, присутствует ли элемент синтаксиса ref_pic_list_modification в текущем заголовке среза, равно 0.
На этапе S361, модуль анализа элемента синтаксиса 332 определяет, что значение элемента синтаксиса log2_parallel_merge_level_minus2 набора параметров изображения (PPS), обозначающее уровень параллельной обработки режима слияния и режима пропуска при обработке прогнозирования, равно 0.
На этапе S362, модуль анализа элемента синтаксиса 332 определяет, что значение элемента синтаксиса scaling_list_pred_mode_flag, относящееся к режиму прогнозирования списка масштабирования (scaling_list_data), равно 0, и определяет, что значение элемента синтаксиса scaling_list_pred_matrix_id_delta относящееся к матрице прогнозирования списка масштабирования (scaling_list_data), равно 0 или 1.
На этапе S363, модуль 332 анализа элемента синтаксиса определяет, что значение элемента синтаксиса slice_type, относящееся к типу среза, заголовка среза (slice_header), представляет собой значение, обозначающее срез I.
На этапе S364, модуль 332 анализа элемента синтаксиса определяет, что тип модуля NAL (nal_unit_type) для VCL представляет собой IDR_W_LP или IDR_N_LP.
На этапе S365, модуль 332 анализа элемента синтаксиса определяет другие элементы синтаксиса. Например, на этапе S365, модуль 332 анализа элемента синтаксиса может определять, что значение элемента синтаксиса (флаг) weighted_pred_flag, относящееся к взвешенному прогнозированию среза Р, или элемент синтаксиса (флаг) weighted_bipred_flag, относящийся к взвешенному прогнозированию среза B в наборе параметров изображения (PPS), равен 0. Когда обработка на этапе S365 заканчивается, обработка возвращается на фиг. 37.
Конечно, порядок обработки описанных выше соответствующих этапов является произвольным, и порядок обработки соответствующих этапов может изменяться, и обработка множества этапов может выполняться параллельно. В частности, как описано выше в разделе <0-1> - <0-3>, порядок обработки на этапах S351-S353 является произвольным.
Кроме того, поскольку ограничения значений элементов синтаксиса являются независимыми друг от друга, не требуется выполнять анализ в состоянии, в котором ограничены все значения группы элементов синтаксиса, и анализ может быть выполнен в состоянии, в котором только значения некоторых элементов синтаксиса являются ограниченными. Другими словами, среди описанных выше этапов при обработке элемента анализа синтаксиса на фиг. 38, может выполняться только обработка некоторых этапов.
Кроме того, поскольку элементы синтаксиса, значение которых ограничено, не являются ограниченными описанными выше примерами, обработка выполнения анализа в состоянии, в котором значение элемента синтаксиса, который не упомянут выше, ограничено, может быть добавлена при обработке анализа элемента синтаксиса на фиг. 38.
В результате выполнения соответствующей обработки, как описано выше, устройство 300 декодирования изображения может предотвращать ненужное увеличение нагрузки, когда декодируют кодированные данные, которые были кодированы на основе профиля для кодирования неподвижного изображения.
4. Четвертый вариант осуществления
Устройство декодирования изображения
Кроме того, устройство декодирования изображения может инспектировать, было или нет правильно установлено значение синтаксиса для набора профиля в кодированных данных.
На фиг. 39 показана блок-схема, иллюстрирующая примерную конфигурацию устройства декодирования изображения, в качестве примера устройства обработки изображения, в котором применяется настоящая технология в этом случае. Устройство 400 декодирования изображения, представленное на фиг. 39, представляет собой устройство декодирования изображения, соответствующее устройству 100 кодирования изображения или устройству 200 кодирования изображения, аналогично устройству 300 декодирования изображения, и декодирует кодированные данные, в которых данные изображения движущегося изображения и неподвижного изображения кодируют, используя обработку прогнозирования HEVC или обработку прогнозирования по схеме на основе HEVC.
Устройство 400 декодирования изображения, в принципе, имеет такую же конфигурацию, как и у устройства 300 декодирования изображения, и выполняет ту же обработку. Устройство 400 декодирования изображения включает в себя модуль 411 обработки ненормального состояния, в дополнение к конфигурации устройства 300 декодирования изображения.
Модуль 302 декодирования без потерь инспектирует, был или нет правильно установлен элемент синтаксиса для профиля, определенного модулем 321 определения профиля. Когда детектируют ненормальное состояние в результате инспектирования, то есть, когда установка элемента синтаксиса выполнена неправильно, например, когда установлен ненужный элемент синтаксиса, уведомление о ненормальном состоянии предоставляют в модуль 411 обработки ненормального состояния.
Когда уведомляют о появлении ненормального состояния из модуля 302 декодирования без потерь, модуль 411 обработки ненормального состояния выполняет заданную обработку ненормального состояния. Например, модуль 411 обработки ненормального состояния обеспечивают отображение предупреждающего изображения на мониторе, или обеспечивают вывод предупреждающего звука через громкоговоритель и т.п. Содержание обработки ненормального состояния является произвольным. Например, для безопасности, модуль 411 обработки ненормального состояния может управлять соответствующими компонентами устройства 400 декодирования изображения таким образом, что обработка декодирования останавливается или принудительно отключается.
Модуль декодирования без потерь
На фиг. 40 показана блок-схема, иллюстрирующая примерную основную конфигурацию модуля 302 декодирования без потерь по фиг. 39, который относится к анализу элемента синтаксиса. Как представлено на фиг. 40, в этом случае модуль 302 декодирования без потерь включает в себя модуль 421 инспектирования элемента синтаксиса, в дополнение к конфигурации на фиг. 35.
Модуль 321 определения профиля определяет установленный профиль на основе информации, представляемой из модуля 331 декодирования, как описано выше, и подает информацию, обозначающую профиль, в модуль 421 инспектирования элемента синтаксиса.
Кроме того, модуль 331 декодирования подает элементы синтаксиса, полученные в результате декодирования кодированных данных в модуль 421 инспектирования элемента синтаксиса.
Модуль 421 инспектирования элемента синтаксиса инспектирует значения различного вида элементов синтаксиса, представляемых из модуля 331 декодирования, в соответствии с результатом определения, переданным из модуля 321 определения профиля. Когда элементы синтаксиса являются нормальными, модуль 421 инспектирования элемента синтаксиса подает инспектированные элементы синтаксиса в модуль 332 анализа элемента синтаксиса.
Кроме того, когда обнаруживается ненормальное состояние в результате инспектирования элемента синтаксиса, например, когда установлен неправильный элемент синтаксиса или когда неправильное значение установлено в элементе синтаксиса, модуль 421 инспектирования элемента синтаксиса уведомляет модуль 411 обработки ненормального состояния об обнаружении ненормального состояния.
Модуль 411 обработки ненормального состояния выполняет обработку ненормального состояния, в соответствии с уведомлением, как описано выше.
В результате, устройство 400 декодирования изображения может обнаружить, является или нет установка элемента синтаксиса правильной, и выполняет обработку декодирования более безопасно. Кроме того, устройство 400 декодирования изображения может использовать результат детектирования для инспектирования и анализа кодированных данных. Другими словами, возможно поддерживать, например, повторное формирование кодированных данных, в соответствии с необходимостью, используя устройство 400 декодирования изображения, как анализатор кодированных данных.
Кроме того, устройство 400 декодирования изображения может декодировать, как кодированные данные неподвижного изображения, так и кодированные данные движущегося изображения, используя одну схему.
Поток обработки кодирования
Затем, со ссылкой на блок-схемы последовательности операций на фиг. 41 и 42, будет описан пример потока обработки декодирования, выполняемой устройством 400 декодирования изображения в данном случае.
Когда начинается обработка декодирования, устройство 400 декодирования изображения выполняет на этапах S401-S413, на фиг. 41 такую же обработку, как и на этапах на S301-S313 на фиг. 36. Когда обработка на этапе S413 заканчивается, обработка декодирования заканчивается.
Кроме того, когда определяют, что профиль неподвижного изображения был установлен на этапе S402, обработка переходит на этап S421 на фиг. 42.
На этапе S421, на фиг. 42, модуль 421 инспектирования элемента синтаксиса модуля 302 декодирования без потерь инспектирует элементы синтаксиса на основе ограничения, установленного профилем неподвижного изображения.
На этапе S422, модуль 421 инспектирования элемента синтаксиса определяет, произошло или нет нарушение в элементе синтаксиса, на основе результата инспектирования на этапе S421. Когда определяют, что нарушение не произошло, обработка переходит на этап S423.
На этапах S423-S433, на фиг. 42, выполняется та же обработка, что и на этапах S321-S331, на фиг. 37. Когда заканчивается обработка на этапе S433, обработка декодирования заканчивается.
Кроме того, когда определяют на этапе S422, на фиг. 42, что произошло нарушение, обработка переходит на этап S434.
На этапе S434, модуль 411 обработки ненормального состояния выполняет обработку ненормального состояния. Когда обработка на этапе S434 заканчивается, обработка декодирования заканчивается.
Поток обработки анализа элемента синтаксиса
Далее, со ссылкой на блок-схему последовательности операций на фиг. 43, будет описан пример потока обработки инспектирования элемента синтаксиса, выполняемой на этапе S421, на фиг. 42.
Когда начинается обработка инспектирования элемента синтаксиса, на этапе S451, модуль 421 инспектирования элемента синтаксиса определяет, равны или нет 0 параметр vps_max_sub_layers_minus1, относящийся к подуровню набора параметров видеоданных (VPS), и параметр sps_max_sub_layers_minus1, относящийся к подуровню набора параметров последовательности (SPS). Когда результат определения равен true, то есть когда параметр vps_max_sub_layers_minus1, относящийся к подуровню набора параметров видеоданных (VPS), и параметр sps_max_sub_layers_minus1, относящийся к подуровню набора параметров последовательности (SPS) определены, как равные 0, обработка переходит на этап S452.
На этапе S452, модуль 421 инспектирования элемента синтаксиса определяет, имеет или нет элемент синтаксиса general_profile_idc уровня слоя профиля (profile_tier_level()) значение, обозначающее профиль неподвижного изображения. Когда результат определения равен true, то есть когда элемент синтаксиса general_profile_idc для уровня слоя профиля (profile_tier_level()), определяют, как значение, обозначающее профиль неподвижного изображения, обработка переходит на этап S453.
На этапе S453, модуль 421 инспектирования элемента синтаксиса определяет, равно или нет 0 значение элемента синтаксиса vps_num_hrd_parameters, относящееся к виртуальному опорному декодеру в наборе параметров видеоданных (VPS). Когда результат определения равен true, то есть когда определяют, что значение элемента синтаксиса vps_num_hrd_parameters, относящееся к виртуальному опорному декодеру набора параметров видеоданных (VPS), равно 0, обработка переходит на этап S454.
На этапе S454, модуль 421 инспектирования элемента синтаксиса определяет, равно или нет 0 значение элемента синтаксиса restricted_ref_pic_lists_flag, относящееся к Ρ срезу и В срезу в наборе параметров последовательности (SPS). Когда результат определения равен true, то есть когда значение элемента синтаксиса restricted_ref_pic_lists_flag, относящееся к Ρ срезу и В срезу в наборе параметров последовательности (SPS) равно 0, обработка переходит к этапу S455.
На этапе S455, модуль 421 инспектирования элемента синтаксиса определяет, равно или нет 0 значение элемента синтаксиса num_short_term_ref_pic_sets, относящееся к короткому сроку, в наборе параметров последовательности (SPS). Когда результат определения равен true, то есть когда определяют, что значение элемента синтаксиса num_short_term_ref_pic_sets, относящееся к короткому сроку в наборе параметров последовательности (SPS), равно 0, обработка переходит на этап S456.
На этапе S456, модуль 421 проверки элемента синтаксиса определяет, равно или нет 0 значение элемента синтаксиса long_term_ref_pics_present_flag, относящееся к длительному сроку в наборе параметров последовательности (SP). Когда результат определения равен true, то есть когда определяют, что значение элемента синтаксиса long_term_ref_pics_present_flag, относящееся к длительному сроку в наборе параметров последовательности (SPS), равно 0, обработка переходит на этап S457.
На этапе S457, модуль проверки элемента синтаксиса 421 определяет, равно или нет 0 значение элемента синтаксиса sps_temporal_mvp_enable_flag, относящееся к вектору движения, в наборе параметров последовательности (SPS). Когда результат определения равен true, то есть когда определяют, что значение элемента синтаксиса sps_temporal_mvp_enable_flag, относящееся к вектору движения в наборе параметров последовательности (SPS), равно 0, обработка переходит на этап S458.
На этапе S458, модуль проверки элемента синтаксиса 421 определяет, равны или нет 0 или 1 оба значение элемента синтаксиса num_ref_idx_l0_default_active minus1, относящееся к L0, и значение элемента синтаксиса num_ref_idx_l1_default_active minus1, относящееся к L1, в наборе параметров изображения (PPS). Когда результат определения равен true, то есть когда определяют, что оба значение элемента синтаксиса num_ref_idx_l0_default_active minus1, относящееся к L0, и значение элемента синтаксиса num_ref_idx_l1_default_active minus1, относящееся к L1, в наборе параметров изображения (PPS), равны 0 или 1, обработка переходит на этап S459.
На этапе S459, модуль проверки элемента синтаксиса 421 определяет, равно или нет 0 значение элемента синтаксиса lists_modification_present_flag набора параметров изображения (PPS), обозначающего, присутствует ли элемент синтаксиса ref_pic_list_modification в текущем заголовке среза. Когда результат определения равен true, то есть когда определяют, что значение элемента синтаксиса lists_modification_present_flag набора параметров изображения (PPS), обозначающий, присутствует ли элемент синтаксиса ref_pic_list_modification в текущем заголовке среза, равно 0, обработка переходит на этап S460.
На этапе S460, модуль проверки элемента синтаксиса 421 определяет, равно или нет 0 значение элемента синтаксиса log2_parallel_merge_level_minus2 набора параметров изображения (PPS), обозначающего уровень параллельной обработки режима слияния и режима пропуска при обработке прогнозирования. Когда результат определения равен true, то есть когда определяют, что значение элемента синтаксиса log2_parallel_merge_level_minus2 набора параметров изображения (PPS), обозначающее уровень параллельной обработки режима слияния и режима пропуска в обработке прогнозирования, равно 0, обработка переходит на этап S461.
На этапе S461, модуль проверки элемента синтаксиса 421 определяет, равно или нет 0 значение элемента синтаксиса scaling_list_pred_mode_flag, относящееся к режиму прогнозирования списка масштабирования (scaling_list_data()), и равно или нет 0 или 1 значение синтаксиса элемента scaling_list_pred_matrix_id_delta, относящееся к матрице прогнозирования списка масштабирования (scaling_list_data()). Когда результат определения равен true, то есть когда определяют, что значение элемента синтаксиса scaling_list_pred_mode_flag, относящееся к режиму прогнозирования списка масштабирования (scaling_list_data()), равно 0, и определяют, что значение элемента синтаксиса scaling_list_pred_matrix_id_delta, относящееся к матрице прогнозирования списка масштабирования (scaling_list_data()), равно 0 или 1, обработка переходит на этап S462.
На этапе S462, модуль 421 инспектирования элемента синтаксиса определяет, равно или нет значение элемента синтаксиса slice_type, относящееся к типу среза, заголовка среза (slice_header()), значению, обозначающему срез i. Когда результат определения равен trae, то есть когда определяют, что значение элемента синтаксиса slice_type, относящееся к типу среза в заголовке среза (slice_header()), равно значению, обозначающему срез i, обработка переходит к этапу S463.
На этапе S463, модуль 421 инспектирования элемента синтаксиса определяет, представляет собой или нет тип модуля NAL (nal_unit_type) для VCL IDR_W_LP или IDR_N_LP. Когда результат определения равен true, то есть когда определяют, что тип модуля NAL (nal_unit_type) для VCL равен IDR_W_LP или IDR_N_LP, обработка переходит на этап S464.
На этапе S464, модуль 421 инспектирования элемента синтаксиса определяет, что элемент синтаксиса является нормальным. Когда обработка на этапе S464 заканчивается, обработка инспектирования элемента синтаксиса заканчивается, и обработка возвращается на фиг. 42.
Кроме того, когда определяют, что результат определения является false на любом из этапов S451-S463 по фиг. 43, обработка переходит на этап S465.
На этапе S465, модуль 421 инспектирования элемента синтаксиса определяет, что элемент синтаксиса является ненормальным. Когда обработка на этапе S465 заканчивается, обработка инспектирования элементом синтаксиса заканчивается, и обработка возвращается к фиг. 42.
Конечно, порядок обработки описанных выше соответствующих этапов является произвольным, и порядок обработки соответствующих этапов может изменяться, и обработка множества этапов может выполняться параллельно.
Кроме того, поскольку условия (ограничения значений элементов синтаксиса) соответствующих инспекций не зависят друг от друга, не требуется инспектировать все из группы элементов синтаксиса, описанных выше, и только некоторые элементы синтаксиса могут быть проинспектированы. Другими словами, среди описанных выше этапов при обработке инспектирования элемента синтаксиса на фиг. 43, может быть выполнена обработка только некоторых этапов.
Кроме того, может быть добавлена инспекция элемента синтаксиса, которая не включена в описанный выше пример.
В результате выполнения соответствующей обработки, как описано выше, устройство 400 декодирования изображения может обнаруживать, является или установка элемента синтаксиса соответствующей, и может выполнять обработку декодирования более безопасно.
Как описано выше, настоящая технология может применяться ко всем устройствам кодирования изображения и устройствам декодирования изображения, которые кодируют и декодируют изображения.
Например, настоящая технология может применяться в устройстве кодирования изображения и в устройстве декодирования изображения, используемым, когда информацию изображения (поток битов), сжатую в результате ортогонального преобразования, такого как дискретное косинусное преобразование и компенсация движения, как при MPEG и Н.26х, принимают через сетевую среду, такую как спутниковая широковещательная передача, кабельное телевидение, Интернет или мобильный телефон. Кроме того, настоящая технология может применяться в устройстве кодирования изображения и в устройстве декодирования изображения, используемых, когда обработка выполняется на носителе информации, таком как оптический диск, магнитный диск, или запоминающее устройство флэш. Кроме того, настоящая технология может применяться даже в устройстве прогнозирования внутри кадра, включенном в устройство кодирования изображения, устройство декодирования изображения и т.п.
5. Пятый вариант осуществления
Применение кодирования многопроекционного изображения и декодирования многопроекционного изображения
Последовательность обработки, описанная выше, может применяться для кодирования многопроекционного изображения и декодирования многопроекционного изображения. На фиг. 44 иллюстрируется примерная схема кодирования многопроекционного изображения.
Как представлено на фиг. 44, многопроекционное изображение включает в себя изображения множества видов. Множество видов многопроекционного изображения включают в себя основной вид, в котором выполняются кодирование и декодирование, используя изображение своего собственного вида, без использования изображения другого вида, и не основной вид, в котором кодирование и декодирование выполняют, используя изображение другого вида. В качестве неосновного вида, может использоваться изображение основного вида и изображение другого неосновного вида.
Когда кодируют или декодируют многопроекционное изображение на фиг. 44, изображение каждого вида кодируют или декодируют, но способы, в соответствии с первым - четвертым вариантами осуществления, могут применяться для кодирования или декодирования каждого вида. В результате, становится возможным предотвратить снижение эффективности кодирования каждого вида.
Кроме того, флаги или параметры, используемые в способах, в соответствии с первым - четвертым вариантами осуществления, могут совместно использоваться при кодировании и декодировании каждого вида. В результате, становится возможным предотвратить передачу ненужной информации и уменьшить количество информации, предназначенной для передачи (объем кодирования) (то есть, становится возможным предотвратить снижение эффективности кодирования).
Более конкретно, например, элементы синтаксиса набора параметров последовательности, уровня слоя профиля, набора параметров изображения и заголовка среза могут совместно использоваться при кодировании и декодировании каждого вида.
Конечно, любая другая необходимая информация также может совместно использоваться при кодировании и декодировании каждого вида.
Устройство кодирования многопроекционного изображения
На фиг. 45 показана схема, иллюстрирующая устройство кодирования многопроекционного изображения, которое выполняет кодирование многопроекционного изображения. Как представлено на фиг. 45, устройство 600 кодирования многопроекционного изображения включает в себя модуль 601 кодирования, модуль 602 кодирования и мультиплексор 603.
Модуль 601 кодирования кодирует изображение основного вида, и генерирует поток кодированного изображения основного вида. Модуль 602 кодирования кодирует изображение неосновного вида, и генерирует кодированный поток изображения неосновного вида. Мультиплексор 603 мультиплексирует кодированный поток изображения основного вида, сгенерированный в модуле 601 кодирования, и кодированный поток изображения неосновного вида, сгенерированный в модуле 602 кодирования, и генерирует кодированный поток многопроекционного изображения.
Устройство 100 кодирования изображения (фиг. 25) или устройство 200 кодирования изображения (фиг. 31) могут применяться в модуле 601 кодирования и в модуле 602 кодирования устройства 600 кодирования многопроекционного изображения. Другими словами, когда обработку кодирования выполняют на основе профиля, для кодирования неподвижного изображения при кодировании каждого вида, становится возможным ограничить значение элемента синтаксиса, относящегося к обработке между кадрами, и возможно предотвратить снижение эффективности кодирования каждого вида. Кроме того, модуль 601 кодирования и модуль 602 кодирования могут выполнять кодирование, используя один и тот же флаг или один и тот же параметр (например, элемент синтаксиса, относящийся к обработке между изображениями, и т.п.) (то есть могут совместно использовать флаг или параметр), и, таким образом, становится возможным предотвратить снижение эффективности кодирования.
Устройство декодирования многопроекционного изображения
На фиг. 46 показана схема, иллюстрирующая устройство декодирования многопроекционного изображения, которое декодирует многопроекционное изображение. Как представлено на фиг. 46, устройство 610 декодирования многопроекционного изображения включает в себя демультиплексор 611, модуль 612 декодирования и модуль 613 декодирования.
Демультиплексор 611 демультиплексирует кодированный поток многопроекционного изображения, полученный в результате мультиплексирования кодированного потока изображения основного вида и кодированный поток изображения неосновного вида, и выделяет кодированный поток изображения основного вида и кодированный поток изображения неосновного вида. Модуль 612 декодирования декодирует кодированный поток изображения основного вида, выделенный демультиплексором 611, и получает изображение основного вида. Модуль 613 декодирования декодирует кодированный поток изображения неосновного вида, выделенный демультиплексором 611, и получает изображение неосновного вида.
Устройство 300 декодирования изображения (фиг. 34) или устройство 400 декодирования изображения (фиг.39) могут применяться в модуле 612 декодирования и в модуле 613 декодирования устройства 610 декодирования многопроекционного изображения. Другими словами, когда обработку кодирования выполняют на основе профиля для кодирования неподвижного изображения при кодировании каждого вида, принятый элемент синтаксиса, относящийся к обработке между изображениями, может быть проанализирован в состоянии, в котором значение ограничено. Кроме того, модуль 612 декодирования и модуль 613 декодирования могут выполнять декодирование, используя один и тот же флаг или один и тот же параметр (например, элемент синтаксиса, относящийся к обработке между кадрами, и т.п.) (то есть могут совместно использовать флаг или параметр), и, таким образом, становится возможным предотвращать снижение эффективности кодирования.
6. Шестой вариант осуществления
Применение для масштабируемого кодирования изображения и масштабируемого декодирования изображения
Последовательность обработки, описанная выше, может применяться для масштабируемого кодирования изображения и масштабируемого декодирования изображения (масштабируемое кодирование и масштабируемое декодирование). На фиг. 47 иллюстрируется примерная схема масштабируемого кодирования изображения.
При масштабируемом кодировании изображения (масштабируемое кодирование), изображение разделяют (устанавливают иерархию) на множество уровней таким образом, что заданный параметр имеет функцию масштабируемости, и данные изображения кодируют для каждого уровня. Масштабируемое декодирование изображения (масштабируемое декодирование) представляет собой декодирование, соответствующее масштабируемому кодированию изображения.
Как представлено на фиг. 47, при установлении иерархии изображения, одно изображение разделяют на множество изображений (уровней) на основе заданного параметра, имеющего функцию масштабируемости. Другими словами, изображения с установленной иерархией (масштабируемые изображения) включают в себя изображения множества уровней, которые отличаются по значению заданного параметра друг от друга. Множество уровней масштабируемых изображений включает в себя основной уровень, в котором выполняют кодирование и декодирование, используя только изображение его собственного уровня, без использования изображения другого уровня, и не основной уровень (который также называется "уровнем расширения"), в котором кодирование и декодирование выполняют, используя изображение другого уровня. В качестве не основного уровня, может использоваться изображение основного уровня, и изображение любого другого не основного уровня.
Обычно не основной уровень выполнен с данными (дифференциальными данными) дифференциального изображения между его собственным изображением и изображением другого уровня таким образом, что снижается избыточность. Например, когда для одного изображения устанавливают иерархию на двух уровнях, то есть основной уровень и не основной уровень (который также называется "уровнем расширения"), получают изображение более низкого качества, чем исходное изображение, когда используют только данные основного уровня, оригинальное изображение (то есть изображение с высоким качеством) получают, когда комбинируют, как данные основного уровня, так и данные не основного уровня.
Поскольку для изображения установлена иерархия, как описано выше, изображения различного качества могут быть получены, в зависимости от ситуации. Например, для терминала, имеющего низкую способность обработки, такого как мобильный телефон, передают информацию сжатия изображений только для основного уровня, и воспроизводят движущееся изображение с низким пространственным и временным разрешением или низким качеством, и для терминала, имеющего высокие возможности обработки, такого как телевизор или персональный компьютер, передают информацию сжатого изображения уровня расширения так же, как и основного уровня, и воспроизводят движущееся изображение с высоким пространственным и временным разрешением или с высоким качеством. Другими словами, информация сжатия изображений, в соответствии с возможностями терминала или сетью, может быть передана из сервера без выполнения обработки транскодирования.
Когда масштабируемое изображение кодируют или декодируют, как в примере на фиг. 47, изображение каждого уровня кодируют или декодируют, но способы, в соответствии с первым - четвертым вариантами осуществления могут применяться для кодирования или декодирования каждого уровня. В результате, становится возможным предотвратить снижение эффективности кодирования каждого уровня.
Кроме того, при кодировании и декодировании каждого уровня, флаг или параметр, используемый в способах, в соответствии с первым - четвертым вариантами осуществления, может совместно использоваться. В результате, становится возможным предотвратить передачу избыточной информации и уменьшить количество информации, которая должна быть передана (объем кодирования) (то есть возможно предотвратить снижение эффективности кодирования).
Более конкретно, например, элемент синтаксиса набора параметров последовательности, уровень слоя профиля, набор параметра изображения и заголовка среза могут совместно использоваться при кодировании и декодировании каждого уровня.
Конечно, любая другая необходимая информация также может совместно использоваться при кодировании и декодировании каждого уровня.
Масштабируемый параметр
При кодировании масштабируемого изображения и декодировании масштабируемого изображения (масштабируемое кодирование и масштабируемое декодирование), параметр, имеющий функцию масштабируемости, является произвольным. Например, пространственное разрешение, представленное на фиг. 48, может использоваться, как параметр (пространственная масштабируемость). В случае пространственной масштабируемости, соответствующие уровни имеют разные разрешения. Другими словами, для каждого изображения устанавливают иерархию на два уровня, то есть, основной уровень с более низким пространственным разрешением, чем у оригинального изображения и уровня расширения, который комбинируют с изображением основного уровня для получения оригинального изображения (оригинальное пространственное разрешение), как представлено на фиг. 48. Конечно, количество уровней представляет собой пример, и для каждого изображения может быть установлена иерархия с произвольным количеством уровней.
В качестве другого параметра, обладающего такой возможностью масштабирования, например, можно использовать временное разрешение, как представлено на фиг. 49 (временная масштабируемость). В случае временной масштабируемости, соответствующие уровни имеют разные частоты передачи кадров. Другими словами, в этом случае, для каждого изображения устанавливают иерархию на уровни, имеющие разные частоты кадров, движущееся изображение с высокой скоростью смены кадров может быть получено путем комбинирования уровня с высокой скоростью кадров, с уровнем с низкой скоростью кадров, и оригинальное движущееся изображение (с оригинальной частотой кадров) может быть получено путем комбинирования всех уровней, как представлено на фиг. 49. Количество уровней представляет собой пример, и для каждого изображения может быть установлена иерархия с произвольным количеством уровней.
Кроме того, в качестве другого параметра, имеющего такую масштабируемость, например, используется отношение "сигнал-шум" (SNR) (масштабируемость SNR). В случае масштабируемости SNR, соответствующие уровни имеют разные отношения SN. Другими словами, в этом случае, для каждого изображения устанавливают иерархию на двух уровнях, то есть, на основном уровне SNR, более низком, чем у оригинального изображения, и на уровне расширения, который комбинируют с изображением основного уровня для получения оригинального изображения (оригинального SNR), как представлено на фиг. 50. Другими словами, для информации сжатия изображений основного уровня, передают информацию, относящуюся к изображению с низким PSNR, и изображение с высоким PSNR может быть реконструировано путем объединения этой информации с информацией сжатия изображений уровня расширения. Конечно, количество уровней представляет собой пример, и для каждого изображения может быть установлена иерархия с произвольным количеством уровней.
Другой параметр, кроме описанных выше примеров, может применяться, как параметр, имеющий масштабируемость. Например, существует масштабируемость по битовой глубине, в которой основной уровень включает в себя 8-битное изображение, и 10-битное изображение может быть получено путем добавления уровня расширения для основного уровня.
Кроме того, существует масштабируемость по цветности, в которой основной уровень включает в себя компонент изображение формата 4:2:0, и компонент изображение формата 4:2:2 может быть получен путем добавления уровня расширения к основному уровню.
Устройство масштабируемого кодирования изображения
На фиг. 51 показана схема, иллюстрирующая устройство масштабируемого кодирования изображения, которое выполняет масштабируемое кодирование изображения. Как представлено на фиг. 51, устройство 620 масштабируемого кодирования изображения включает в себя модуль 621 кодирования, модуль 622 кодирования и мультиплексор 623.
Модуль 621 кодирования кодирует изображение основного уровня, и генерирует кодированный поток изображения основного уровня. Модуль 622 кодирования кодирует изображение не основного уровня и генерирует кодированный поток изображения не основного уровня. Мультиплексор 623 мультиплексирует кодированный поток изображения основного уровня, сгенерированный в модуле 621 кодирования, и кодированный поток изображения не основного уровня, сгенерированный в модуле 622 кодирования и генерирует поток кодированного масштабируемого изображения.
Устройство 100 кодирования изображения (фиг. 25) или устройство 200 кодирования изображения (фиг. 31) можно применять в модуле 621 кодирования и в модуле 622 кодирования устройства 620 масштабируемого кодирования изображения. Другими словами, когда выполняют обработку кодирования на основе профиля для кодирования неподвижного изображения при кодировании каждого уровня, возможно ограничить значение элемента синтаксиса, относящегося к обработке между изображениями, и при этом возможно предотвратить снижение эффективности кодирования каждого уровня. Кроме того, например, модуль 621 кодирования и модуль 622 кодирования могут управлять обработкой фильтра для прогнозирования внутри кадра, используя тот же флаг или тот же параметр (например, элемент синтаксиса, относящийся к обработке между кадрами и т.п.) (то есть позволяет совместно использовать флаг или параметр), и, таким образом, становится возможным предотвратить снижение эффективности кодирования.
Устройство масштабируемого декодирования изображения
На фиг. 52 показана схема, иллюстрирующая устройство масштабируемого декодирования изображения, которое выполняет масштабируемое декодирование изображения. Как представлено на фиг. 52, устройство 630 масштабируемого декодирования изображения включает в себя демультиплексор 631, модуль 632 декодирования, и модуль 633 декодирования.
Демультиплексор 631 демультиплексирует поток кодированного масштабируемого изображения, полученный в результате мультиплексирования кодированного потока изображения основного уровня и кодированного потока изображения не основного уровня, и выделяет кодированный поток изображения основного уровня и кодированный поток изображения не основного уровня. Модуль 632 декодирования декодирует кодированный поток изображения основного уровня, выделенный демультиплексором 631, и получает изображение основного уровня. Модуль 633 декодирования декодирует кодированный поток изображения не основного уровня, выделенный демультиплексором 631, и получает изображение не основного уровня.
Устройство 300 декодирования изображения (фиг. 34) или устройство 400 декодирования изображения (фиг. 39) можно применять в модуле 632 декодирования и в модуле 633 декодирования из устройства 630 декодирования масштабируемого изображения. Другими словами, когда выполняется обработка кодирования на основе профиля для кодирования неподвижного изображения при декодировании каждого уровня, возможно анализировать принятые элементы синтаксиса, относящиеся к обработке между изображениями, в состоянии, в котором значение ограничено, и при этом возможно предотвращать снижение эффективности кодирования каждого уровня. Кроме того, модуль 612 декодирования и модуль 613 декодирования могут выполнять декодирование, используя один и тот же флаг или один и тот же параметр (например, элементы синтаксиса, относящиеся к обработке между кадрами и т.п.) (то есть позволяет совместно использовать флаг или параметр), и, таким образом, становится возможным предотвращать снижение эффективности кодирования.
Например, настоящая технология может применяться в устройстве кодирования изображения и в устройстве декодирования изображения, используемых, когда принимают информацию изображения (поток битов), сжатую в результате ортогонального преобразования, такого как дискретное косинусное преобразование, и компенсация движения, как в MPEG и Н.26х через сетевую среду передачи, такую как спутниковая широковещательная передача, кабельное телевидение, Интернет или мобильный телефон. Кроме того, настоящая технология может применяться в устройстве кодирования изображения и в устройстве декодирования изображения, используемых, когда выполняют обработку на носителе записи, таком как оптический диск, магнитный диск или запоминающее устройство флэш. Кроме того, настоящая технология может применяться даже в устройстве квантования или в устройстве обратного квантования, включенном в устройство кодирования изображения, устройство декодирования изображения и т.п.
7. Седьмой вариант осуществления
Компьютер
Последовательность обработки, описанная выше, может выполняться с использованием аппаратных средств или программных средств. Когда последовательность обработки выполняется с использованием программных средств, программу, составляющую программное средство, устанавливают в компьютер. Здесь примеры компьютера включают в себя компьютер, встроенный в специализированные аппаратные средства, и персональный компьютер общего назначения, который включает в себя различные программы, установленные в нем, и выполнен с возможностью выполнения различного вида функций.
На фиг. 53 показана блок-схема, иллюстрирующая примерную конфигурацию аппаратных средств компьютера, который выполняет описанную выше последовательность обработки с использованием программы.
В компьютере 800, показанном на фиг. 53, центральное процессорное устройство (CPU) 801, постоянное запоминающее устройство (ROM) 802 и оперативное запоминающее устройство (RAM) 803 соединены друг с другом через шину 804.
Интерфейс 810 ввода-вывода (I/O) также соединен с шиной 804. Модуль 811 ввода, модуль 812 вывода, модуль 813 сохранения, модуль 814 связи и привод 815 соединены с интерфейсом 810 ввода-вывода.
Например, модуль 811 ввода включает в себя клавиатуру, мышь, микрофон, сенсорную панель, разъем вывода и т.п. Например, модуль 812 вывода включает в себя устройство отображения, громкоговоритель, разъем вывода и т.п. Например, модуль 813 сохранения включает в себя жесткий диск, диск RAM, энергонезависимое запоминающее устройство и т.п. Например, модуль 814 связи включает в себя сетевой интерфейс. Привод 815 осуществляет привод съемного носителя 821, такого как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство.
В компьютере, имеющем описанную выше конфигурацию, CPU 801 выполняет описанную выше последовательность обработки, например, путем загрузки в RAM программы, сохраненной в модуле 813 сохранения 803, через интерфейс 810 ввода-вывода и шину 804, и выполняет программу. В RAM 803 также, соответственно, содержатся, например, данные, необходимые, когда CPU 801 исполняет различного рода обработку.
Например, программа, исполняемая компьютером (CPU 801), может быть записана на съемном носителе 821, как на пакетном носителе и т.п., и может применяться. Кроме того, программа может быть предоставлена через проводную или беспроводную среду связи, такую как локальная вычислительная сеть (LAN), Интернет или цифровая спутниковая широковещательная передача.
В компьютере съемный носитель 821 установлен в привод 815, и затем программа может быть установлена в модуль 813 сохранения через интерфейс 810 ввода-вывода. Кроме того, программа может быть принята модулем 814 связи через проводную или беспроводную среду связи, и затем установлена в модуле 813 сохранения. Кроме того, программа может быть заранее установлена в ROM 802 или в модуле 813 сохранения.
Кроме того, программа может представлять собой программу, в которой обработка выполняется хронологически в порядке, описанном в настоящем описании, или может представлять собой программу, в которой обработка выполняется параллельно или в необходимые моменты времени, такие как моменты времени вызова.
Кроме того, в настоящем описании, этапы, описывающие программу, записанную на носителе записи, включают в себя не только обработку, выполняемую хронологически в соответствии с описанным порядком, но также и обработку, которая не обязательно обрабатывается хронологически, но выполняется параллельно или индивидуально.
Кроме того, в настоящем описании, система означает набор из двух или больше вычислительных элементов (устройств, модулей (частей) и т.п.) независимо от того, размещены или нет все элементы конфигурации в одном корпусе. Таким образом, как множество устройств, которые размещены в отдельных корпусах и соединены через сеть, так и одно устройство, в котором размещено множество модулей в одном корпусе, представляют собой системы.
Кроме того, конфигурация, описанная, как одно устройство (или модуль обработки), может быть разделена на множество устройств (или модулей обработки). И, наоборот, конфигурация, описанная как множество устройств (или модулей обработки), может быть интегрирована в одно устройство (или модуль обработки). Кроме того, другая конфигурация, чем описанная выше конфигурация, может быть добавлена к конфигурации каждого устройства (или каждого модуля обработки). Кроме того, когда конфигурация или операция во всей системе, по существу, является одинаковой, часть конфигурации определенного устройства (или модуля обработки) может быть включена в конфигурацию другого устройства (или другого модуля обработки).
Предпочтительные варианты осуществления настоящего раскрытия были подробно описаны выше со ссылкой на приложенные чертежи, в то время как технический объем настоящего раскрытия не ограничен представленными выше примерами. Специалист в данной области техники, соответствующей настоящему раскрытию, может найти различные изменения и модификации в пределах объема приложенной формулы изобретения, и следует понимать, что они, естественно, попадают в пределы технического объема настоящего раскрытия.
Например, настоящая технология может иметь конфигурацию "облачных" вычислений, в которой множество устройств совместно используют и обрабатывают одну функцию вместе через сеть.
Кроме того, этапы, описанные на представленных выше блок-схемах последовательности операций, могут быть выполнены одним устройством или могут быть разделены и могут выполняться множеством устройств.
Кроме того, когда множество процессов обработки включены в один этап, множество процессов, включенных в один этап, могут выполняться одним устройством или могут быть распределены и выполняться множеством устройств.
Устройства кодирования изображения и устройства декодирования изображения, в соответствии с описанными выше вариантами осуществления, могут применяться для спутниковой широковещательной передачи, кабельной широковещательной передачи, такой как кабельное телевидение, для передатчиков или приемников при доставке по Интернет или доставке в терминалы, используя сотовую связь, в устройствах записи, которые записывают изображения на носителе, таком как оптический диск, магнитный диск или запоминающее устройство флэш, или различные электронные устройства, такие как устройства воспроизведения, которые воспроизводят изображения с носителя информации. Четыре примера применения будут описаны ниже.
8. Примеры применения
Первый пример применения: телевизионный приемник
На фиг. 54 показана примерная схематичная конфигурация телевизионного устройства, в котором применяется описанный выше вариант осуществления. Телевизионное устройство 900 включает в себя антенну 901, тюнер 902, демультиплексор 903, декодер 904, модуль 905 обработки видеосигнала, модуль 906 отображения, модуль 907 обработки аудиосигнала, громкоговоритель 908, внешний интерфейс 909, модуль 910 управления, интерфейс 911 пользователя и шину 912.
Тюнер 902 выделяет сигнал требуемого канала из сигнала широковещательной передачи, принятого через антенну 901, и демодулирует выделенный сигнал. Кроме того, тюнер 902 выводит кодированный поток битов, полученный в результате демодуляции, в демультиплексор 903. Другими словами, тюнер 902 принимает кодированный поток, включающий в себя кодированное изображение, и используется как модуль передачи, в телевизионном устройстве 900.
Демультиплексор 903 демультиплексирует видеопоток и аудиопоток программы, представляющей собой цель просмотра, из кодированного потока битов, и выводит каждый демультиплексированный поток в декодер 904. Кроме того, демультиплексор 903 выделяет вспомогательные данные, такие как электронная программа передач (EPG), из кодированного потока битов, и подает выделенные данные в модуль 910 управления. Кроме того, когда кодированный поток битов был скремблирован, демультиплексор 903 может выполнять дескремблирование.
Декодер 904 декодирует видеопоток и аудиопоток, выводимые из демультиплексора 903. Декодер 904 выводит видеоданные, сгенерированные при обработке декодирования, в модуль 905 обработки видеосигнала. Кроме того, декодер 904 выводит аудиоданные, сгенерированные при обработке декодирования, в модуль 907 обработки аудиосигнала.
Модуль 905 обработки видеосигнала воспроизводит видеоданные, введенные из декодера 904, и обеспечивает отображение видеоизображения в модуле 906 отображения. Кроме того, модуль 905 обработки видеосигнала может обеспечить отображение экрана приложения, передаваемого через сеть, в модуле 906 отображения. Модуль 905 обработки видеосигнала может выполнять дополнительную обработку, такую как обработка снижения шумов для видеоданных, в соответствии с установкой. Модуль 905 обработки видеосигнала может генерировать изображение графического интерфейса пользователя (GUI), такое как меню, кнопка или курсор, и обеспечивать наложение сгенерированного изображения на выходное изображение.
Модулем 906 отображения управляют с помощью сигнала управления, представляемого из модуля 905 обработки видеосигнала, и на нем отображается видеоизображение или изображение в плоскости отображения видеоизображения устройства отображения (например, жидкокристаллического дисплея (LCD), плазменного дисплея или дисплея органической электролюминесценции (OELD) (дисплей органической EL)).
Модуль 907 обработки аудиосигнала выполняет обработку воспроизведения, такую как D/A преобразование и усиление для аудиоданных, поступающих из декодера 904, и выводит звук через громкоговоритель 908. Модуль 907 обработки аудиосигнала может выполнять дополнительную обработку, такую как обработка снижения шумов для аудиоданных.
Внешний интерфейс 909 представляет собой интерфейс, предназначенный для подключения телевизионного устройства 900 к внешнему устройству или к сети. Например, видеопоток или аудиопоток, принятый через внешний интерфейс 909, могут быть декодированы декодером 904. Другими словами, внешний интерфейс 909 также выполняет роль модуля передачи для телевизионного устройства 900, которое принимает кодированный поток, включающий в себя кодированное изображение.
Модуль 910 управления включает в себя процессор, такой как CPU, и запоминающее устройство, такое как RAM или ROM. Например, в запоминающем устройстве содержится программа, выполняемая CPU, программные данные, данные EPG и данные, получаемые через сеть. Например, программу, сохраненную в запоминающем устройстве, считывают и выполняют с помощью CPU, когда телевизионное устройство 900 включают. CPU выполняет программу, и управляет операцией телевизионного устройства 900, например, в соответствии с сигналом операции, представляемым через интерфейс 911 пользователя.
Интерфейс 911 пользователя соединен с модулем 910 управления. Например, интерфейс 911 пользователя включает в себя кнопку и переключатель, используемые, когда пользователь выполняет операции с телевизионным устройством 900, и модуль приема, который принимает сигнал дистанционного управления. Интерфейс 911 пользователя детектирует операцию пользователя через компоненты, генерирует сигнал операции и выводит сгенерированный сигнал операции в модуль 910 управления.
Шина 912 соединяет тюнер 902, демультиплексор 903, декодер 904, модуль 905 обработки видеосигнала, модуль 907 обработки аудиосигнала, внешний интерфейс 909 и модуль 910 управления друг с другом.
В телевизионном устройстве 900, имеющем описанную выше конфигурация, декодер 904 имеет функцию устройства 300 декодирования изображения (фиг. 34) или устройства 400 декодирования изображения (фиг. 39), в соответствии с описанным выше вариантом осуществления. Таким образом, когда изображение декодируют в телевизионном устройстве 900, становится возможным предотвратить снижение эффективности кодирования.
Второй пример применения: мобильный телефон
На фиг. 55 иллюстрируется примерная схематичная конфигурация мобильного телефона, в котором применяются представленные выше варианты осуществления. Мобильный телефон 920 включает в себя антенну 921, модуль 922 связи, аудиокодек 923, громкоговоритель 924, микрофон 925, модуль 926 камеры, модуль 927 обработки изображения, модуль 928 мультиплексирования/разделения, модуль 929 записи/воспроизведения, модуль 930 отображения, модуль 931 управления, модуль 932 операций и шину 933.
Антенна 921 соединена с модулем 922 связи. Громкоговоритель 924 и микрофон 925 соединены с аудиокодеком 923. Модуль 932 операций соединен с модулем 931 управления. Шина 933 соединяет модуль 922 связи, аудиокодек 923, модуль 926 камеры, модуль 927 обработки изображения, модуль 928 мультиплексирования/разделения, модуль 929 записи/воспроизведения, модуль 930 отображения и модуль 931 управления друг с другом.
Мобильный телефон 920 выполняет операции, такие как передача и прием аудиосигнала, передача и прием электронной почты или данных изображения, формирование изображения, и запись данных в различных режимах работы, таких как режим голосового вызова, режим связи, режим фотосъемки изображений и режим видеотелефона.
В режиме голосового вызова аналоговый аудиосигнал, генерируемый микрофоном 925, подают в аудиокодек 923. Аудиокодек 923 преобразует аналоговый аудиосигнал в аудиоданные, и выполняет A/D преобразование и сжатие преобразованных аудиоданных. Затем аудиокодек 923 выводит сжатые аудиоданные в модуль 922 связи. Модуль 922 связи кодирует и модулирует аудиоданные, и генерирует сигнал передачи. Затем модуль 922 связи передает сгенерированный сигнал передачи в базовую станцию (не представлена) через антенну 921. Кроме того, модуль 922 связи усиливает беспроводный сигнал, принятый через антенну 921, выполняет преобразование частоты, и получает сигнал приема. Затем модуль 922 связи демодулирует и декодирует сигнал приема, генерирует аудиоданные, и выводит сгенерированные аудиоданные в аудиокодек 923. Аудиокодек 923 расширяет аудиоданные, выполняет D/A преобразование и генерирует аналоговый аудиосигнал. Затем аудиокодек 923 подает сгенерированный аудиосигнал в громкоговоритель 924 для вывода звука.
Кроме того, в режиме связи, например, модуль 931 управления генерирует текстовые данные, составляющие электронную почту, в соответствии с операцией пользователя, выполняемой через модуль 932 операций. Модуль 931 управления обеспечивает отображение текста в модуле 930 отображения. Модуль 931 управления генерирует данные электронной почты в соответствии с инструкцией на передачу, заданной пользователем, через модуль 932 операций, и выводит сгенерированные данные электронной почты в модуль 922 связи. Модуль 922 связи кодирует и модулирует данные электронной почты, и генерирует сигнал передачи. Затем модуль 922 связи передает сгенерированный сигнал передачи в базовую станцию (не показана) через антенну 921. Кроме того, модуль 922 связи усиливает беспроводный сигнал, принятый через антенну 921, выполняет преобразование частоты, и получает сигнал приема. Затем модуль 922 связи демодулирует и декодирует сигнал приема, восстанавливает данные электронной почты, и выводит восстановленные данные электронной почты в модуль 931 управления. Модуль 931 управления обеспечивает отображение содержания электронной почты в модуле 930 отображения и сохраняет данные электронной почты на носителе сохранения модуля 929 записи/воспроизведения.
Модуль 929 записи/воспроизведения включает в себя произвольный носитель сохранения с возможностью считывания/записи. Например, носитель сохранения может представлять собой встроенный носитель сохранения, такой как RAM или запоминающее устройство флэш, или съемный носитель сохранения, такой как жесткий диск, магнитный диск, магнитооптический диск, оптический диск, запоминающее устройство универсальной последовательной шины (USB) или карта памяти.
В режиме фотографической съемки, например, модуль 926 камеры снимает предмет, генерирует данные изображения и выводит сгенерированные данные изображения в модуль 927 обработки изображения. Модуль 927 обработки изображения кодирует данные изображения, вводимые из модуля 926 камеры, и сохраняет кодированный поток на носителе сохранения модуля 929 записи/воспроизведения.
В режиме видеотелефона, например, модуль 928 мультиплексирования/разделения мультиплексирует поток видеоданных, кодированный модулем 927 обработки изображения, и аудиопоток, вводимый из аудиокодека 923, и выводит мультиплексированный поток в модуль 922 связи. Модуль 922 связи кодирует и модулирует поток, и генерирует сигнал передачи. Затем модуль 922 связи передает сгенерированный сигнал передачи в базовую станцию (не показана) через антенну 921. Кроме того, модуль 922 связи усиливает беспроводный сигнал, принятый через антенну 921, выполняет преобразование частоты и получает сигнал приема. Сигнал передачи и сигнал приема могут включать в себя кодированный поток битов. Затем модуль 922 связи демодулирует и декодирует сигнал приема, и восстанавливает поток, и выводит восстановленный поток в модуль 928 мультиплексирования/разделения. Модуль 928 мультиплексирования/разделения отделяет поток видеоданных и поток аудиоданных от входного потока, и выводит поток видеоданных и поток аудиоданных в модуль 927 обработки изображения и в аудиокодек 923, соответственно. Модуль 927 обработки изображения декодирует поток видеоданных, и генерирует видеоданные. Видеоданные подают в модуль 930 отображения, и последовательность изображений отображают в модуле 930 отображения. Аудиокодек 923 разворачивает поток аудиоданных, выполняет D/A преобразование и генерирует аналоговый аудиосигнал. Затем, аудиокодек 923 подает сгенерированный аудиосигнал в громкоговоритель 924 для вывода звука.
В мобильном телефоне 920, имеющем описанную выше конфигурацию, модуль 927 обработки изображения имеет функцию устройства 100 кодирования изображения (фиг. 25), устройство 200 кодирования изображения (фиг. 31), устройство 300 декодирования изображения (фиг. 34) или устройство 400 декодирования изображения (фиг. 39), в соответствии с описанным выше вариантом осуществления. Таким образом, когда мобильный телефон 920 кодирует и декодирует изображение, возможно предотвратить снижение эффективности кодирования.
Третий пример применения: устройство записи/воспроизведения
На фиг. 56 иллюстрируется примерная схематичная конфигурация устройства записи/воспроизведения, в котором применяется описанный выше вариант осуществления. Например, устройство 940 записи/воспроизведения кодирует аудиоданные и видеоданные принятой программы широковещательной передачи, и записывает кодированные данные на носителе записи. Например, устройство 940 записи/воспроизведения может кодировать аудиоданные и видеоданные, полученные из другого устройства, и записывать кодированные данные на носителе записи. Например, устройство 940 записи/воспроизведения воспроизводит данные, записанные на носителе записи через монитор и громкоговоритель, в соответствии с инструкцией пользователя. В это время устройство 940 записи/воспроизведения декодирует аудиоданные и видеоданные.
Устройство 940 записи/воспроизведения включает в себя тюнер 941, внешний интерфейс 942, кодер 943, привод 944 жесткого диска (HDD), привод 945 диска, селектор 946, декодер 947, модуль 948 индикации на экране (OSD), модуль 949 управления и интерфейс 950 пользователя.
Тюнер 941 выделяет сигнал требуемого канала из сигнала широковещательной передачи, принятого через антенну (не показана), и демодулирует выделенный сигнал. Затем тюнер 941 выводит кодированный поток битов, полученный в результате демодуляции, в селектор 946. Другими словами, тюнер 941 выполняет функцию модуля передачи в устройстве 940 записи/воспроизведения.
Внешний интерфейс 942 представляет собой интерфейс для соединения устройства 940 записи/воспроизведения с внешним устройством или сетью. Например, внешний интерфейс 942 может представлять собой интерфейс IEEE1394, сетевой интерфейс, интерфейс USB или интерфейс запоминающего устройства флэш. Например, видеоданные и аудиоданные, принятые через внешний интерфейс 942, подают в кодер 943. Другими словами, внешний интерфейс 942 выполняет роль модуля передачи в устройстве 940 записи/воспроизведения.
Когда видеоданные и аудиоданные, вводимые из внешнего интерфейса 942, не кодированы, кодер 943 кодирует видеоданные и аудиоданные. Затем кодер 943 выводит кодированный поток битов в селектор 946.
HDD 944 записывает на внутренний жесткий диск кодированный поток битов, в котором сжимают данные содержания, такие как видеоданные или звук, различного вида программы и другие данные. HDD 944 считывает данные с жесткого диска, когда воспроизводят видеоизображение или звук.
Привод 945 диска записывает или считывает данные на установленный носитель записи или с него. Например, носитель записи, установленный в привод 945 диска, может представлять собой диск DVD (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW и т.п.), диск Blu-ray (зарегистрированный товарный знак) и т.п.
Когда записывают видеоданные или звук, селектор 946 выбирает кодированный поток битов, представляемый из тюнера 941 или из кодера 943, и выводит выбранный кодированный поток битов в HDD 944 или в привод 945 диска. Кроме того, когда воспроизводят видеоданные или звук, селектор 946 выводит кодированный поток битов, представляемый из HDD 944, или из привода 945 диска, в декодер 947.
Декодер 947 декодирует кодированный поток битов и генерирует видеоданные и аудиоданные. Затем декодер 947 выводит сгенерированные видеоданные в OSD 948. Декодер 947 выводит сгенерированные аудиоданные во внешний громкоговоритель.
OSD 948 воспроизводит видеоданные, введенные из декодера 947, и отображает видеоизображение. Например, OSD 948 может представлять изображение GUI, такое как меню, кнопка или курсор, с наложением на отображаемое видеоизображение.
Модуль 949 управления включает в себя процессор, такой как CPU, и запоминающее устройство, такое как RAM или ROM. В запоминающем устройстве содержится программа, выполняемая CPU, данные программы и т.п. Например, программу, сохраненную в запоминающем устройстве, считывают и исполняют с помощью CPU, когда включают устройство 940 записи/воспроизведения. CPU выполняет программу, и управляет операцией устройства 940 записи/воспроизведения, например, в соответствии с сигналом операции, поступающим из интерфейса 950 пользователя.
Интерфейс 950 пользователя соединен с модулем 949 управления. Например, интерфейс 950 пользователя включает в себя кнопку и переключатель, используемый, когда пользователь выполняет операции с устройством 940 записи/воспроизведения, и модуль приема, принимающий сигнал дистанционного управления. Интерфейс 950 пользователя обнаруживает операцию пользователя через компоненты, генерирует сигнал операции и выводит сгенерированный сигнал операции в модуль 949 управления.
В устройстве 940 записи/воспроизведения, имеющем описанную выше конфигурацию, кодер 943 имеет функцию устройства 100 кодирования изображения (фиг. 25) или устройства 200 кодирования изображения (фиг. 31), в соответствии с описанным выше вариантом осуществления. Декодер 947 имеет функцию устройства 300 декодирования изображения (фиг. 34) или устройства 400 декодирования изображения (фиг. 39), в соответствии с описанным выше вариантом осуществления. Таким образом, когда устройство 940 записи/воспроизведения кодирует и декодирует изображение, становится возможным предотвращать снижение эффективности кодирования.
Четвертый пример применения: устройство формирования изображения
На фиг. 57 показана примерная схематичная конфигурация устройства формирования изображения, в котором применяется описанный выше вариант осуществления. Устройство 960 формирования изображения формирует изображения субъекта, генерирует изображение, кодирует данные изображения и записывает данные изображения на носитель записи.
Устройство 960 формирования изображения включает в себя оптический блок 961, модуль 962 формирования изображения, модуль 963 обработки сигналов, модуль 964 обработки изображения, модуль 965 отображения, внешний интерфейс 966, запоминающее устройство 967, привод 968 носителя записи, OSD 969, модуль 970 управления, интерфейс 971 пользователя и шину 972.
Оптический блок 961 соединен с модулем 962 формирования изображения. Модуль 962 формирования изображения соединен с модулем 963 обработки сигналов. Модуль 965 отображения соединен с модулем 964 обработки изображения. Интерфейс 971 пользователя соединен с модулем 970 управления. Шина 972 соединяет модуль 964 обработки изображения, внешний интерфейс 966, запоминающее устройство 967, привод 968 носителя записи, OSD 969 и модуль 970 управления друг с другом.
Оптический блок 961 включает в себя линзу фокусирования, механизм диафрагмы и т.п. Оптический блок 961 формирует оптическое изображение предмета в плоскости формирования изображение модуля 962 формирования изображения. Модуль 962 формирования изображения включает в себя датчик изображения на приборе с зарядовой связью (CCD) или датчик изображения с комплементарным металлооксидным полупроводником (CMOS) и т.п., и преобразует оптическое изображение, формируемое в плоскости формирования изображения, в сигнал изображения, используемый, как электрический сигнал при фотоэлектрическом преобразовании. Затем модуль 962 формирования изображения выводит сигнал изображения в модуль 963 обработки сигналов.
Модуль 963 обработки сигналов выполняет различного рода обработку сигнала камеры, такую как коррекция изгиба характеристики передачи уровня яркости, гамма коррекция и коррекция цветов для входного сигнала изображения, представляемого из модуля 962 формирования изображения. Модуль 963 обработки сигналов выводит данные изображения, которые были подвергнуты обработке сигнала камеры, в модуль 964 обработки изображения.
Модуль 964 обработки изображения кодирует данные изображения, представляемые из модуля 963 обработки сигналов, и генерирует кодированные данные. Затем модуль 964 обработки изображения выводит сгенерированные кодированные данные во внешний интерфейс 966 или в привод 968 носителя записи. Кроме того, модуль 964 обработки изображения декодирует кодированные данные, вводимые из внешнего интерфейса 966 или с привода 968 носителя записи, и генерирует данные изображения. Затем модуль 964 обработки изображения выводит сгенерированные данные изображения в модуль 965 отображения. Модуль 964 обработки изображения может выводить данные изображения, представляемые из модуля 963 обработки сигналов, в модуль 965 отображения, для отображения изображения. Модуль 964 обработки изображения может обеспечивать отображение данных, полученных из OSD 969, с наложением на выходное изображение в модуле 965 отображения.
OSD 969 генерирует изображение GUI, такое как меню, кнопка или курсор, и выводит сгенерированное изображение в модуль 964 обработки изображения.
Например, внешний интерфейс 966 выполнен, как терминал I/O USB. Например, внешний интерфейс 966 соединяет устройство 960 формирования изображения с принтером, когда печатают изображение. Кроме того, привод соединяют с внешним интерфейсом 966, в соответствии с необходимостью. Например, съемный носитель, такой как магнитный диск или оптический диск, может быть установлен в привод, и программа, считываемая со съемного носителя записи, может быть установлена в устройство 960 формирования изображения. Кроме того, внешний интерфейс 966 может быть выполнен, как сетевой интерфейс, соединенный с сетью, такой как LAN или Интернет. Другими словами, внешний интерфейс 966 выполняет функцию модуля передачи в устройстве 960 формирования изображения.
Носитель записи, установленный в приводе 968 носителя записи, может представлять собой произвольный съемный носитель с возможностью считывания/записи, такой как магнитный диск, магнитооптический диск, оптический диск или полупроводниковое запоминающее устройство. Кроме того, носитель записи может быть фиксированно установлен в приводе 968 носителя записи, и, например, энергонезависимый модуль сохранения, такой как встроенный привод жесткого диска или привод твердотельного устройства (SSD), могут быть сконфигурированы.
Модуль 970 управления включает в себя процессор, такой как CPU, и запоминающее устройство, такое как RAM или ROM. Например, в запоминающем устройстве содержится программа, исполняемая CPU, данные программы и т.п. Например, программу, сохраняемую в запоминающем устройстве, считывают и выполняют с помощью CPU, когда включают устройство 960 формирования изображения. CPU выполняет программу и управляет операцией устройства 960 формирования изображения, например, в соответствии с сигналом операции, вводимым из интерфейса 971 пользователя.
Интерфейс 971 пользователя соединен с модулем 970 управления. Например, интерфейс 971 пользователя включает в себя кнопку, переключатель и т.п., которые используются, когда пользователь выполняет операции с устройством 960 формирования изображения. Интерфейс 971 пользователя обнаруживает операцию пользователя через компоненты, генерирует сигнал операции и выводит сгенерированный сигнал операции в модуль 970 управления.
В устройстве 960 формирования изображения, имеющем описанную выше конфигурацию, модуль 964 обработки изображения имеет функцию устройства 100 кодирования изображения (фиг. 25), устройства 200 кодирования изображения (фиг. 31), устройства 300 декодирования изображения (фиг. 34) или устройства 400 декодирования изображения (фиг. 39), в соответствии с описанным выше вариантом осуществления. Таким образом, когда устройство 960 формирования изображения кодирует и декодирует изображение, становится возможным предотвратить снижение качества изображения.
9. Примеры применения масштабируемого кодирования
Первая система
Далее будут описаны конкретные примеры применения масштабируемых кодированных данных, генерируемых при масштабируемом кодировании (изображении). Масштабируемое кодирование используется для выбора данных, предназначенных для передачи, например, как представлено на фиг. 58.
В системе 1000 связи, представленной на фиг. 58, сервер 1002 предоставления считывает масштабируемые кодированные данные, сохраняемые в модуле 1001 сохранения масштабируемых кодированных данных, и предоставляет масштабируемые кодированные данные терминальному устройству, такому как персональный компьютер 1004, AV устройство 1005, планшетное устройство 1006 и мобильный телефон 1007, через сеть 1003.
В это время сервер 1002 предоставления выбирает соответствующие кодированные данные высокого качества в соответствии с возможностями терминального устройства, среды связи и т.п., и передает выбранные кодированные данные высокого качества. Хотя сервер 1002 предоставления передает ненужные данные высокого качества, терминального устройства не обязательно получают изображение высокого качества, и могут возникнуть задержки или переполнение. Кроме того, полоса пропускания может быть излишне занятой, и нагрузка на терминальное устройство может быть излишне повышена. С другой стороны, хотя сервер 1002 предоставления передает ненужные данные низкого качества, устройства терминала вряд ли получат изображение достаточного качества. Таким образом, сервер 1002 предоставления считывает масштабируемые кодированные данные, сохраненные в модуле 1001 сохранения масштабируемых кодированных данных, в качестве кодированных данных, с качеством, соответствующим возможностям терминального устройства или среды связи, и затем передает считанные данные.
Например, предполагается, что модуль 1001 сохранения масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1011, которые кодированы в результате масштабируемого кодирования. Масштабируемые кодированные данные (BL+EL) 1011 представляют собой кодированные данные, включающие в себя как основной уровень, так и уровень расширения, и оба, изображение основного уровня и изображение уровня расширения, могут быть получены в результате декодирования масштабируемых кодированных данных (BL+EL) 1011.
Сервер 1002 предоставления выбирает соответствующий уровень, в соответствии с возможностями терминального устройства, в который передают данные, окружающей средой связи, и т.п., и считывают данные выбранного уровня. Например, для персонального компьютера 1004 или планшетного устройства 1006, имеющего высокие возможности обработки, сервер 1002 предоставления считывает масштабируемые кодированные данные (BL+EL) 1011 высокого качества из модуля 1001 сохранения масштабируемых кодированных данных, и передает масштабируемые кодированные данные (BL+EL) 1011 без изменения. С другой стороны, например, для AV устройства 1005 или для мобильного телефона 1007, имеющих низкие возможности обработки, сервер 1002 предоставления выделяет данные основного уровня из масштабируемых кодированных данных (BL+EL) 1011, и передает масштабируемые кодированные данные (BL) 1012, которые представляют собой данные того же содержания, что и масштабируемые кодированные данные (BL+EL) 1011, но с более низким качеством, чем масштабируемые кодированные данные (BL+EL) 1011.
Как описано выше, количество данных можно легко регулировать, используя масштабируемые кодированные данные, и, таким образом, возможно предотвратить возникновение задержки или переполнения и предотвратить ненужное увеличение нагрузки устройства терминала или среды передачи данных. Кроме того, избыточность между уровнями масштабируемых кодированных данных (BL+EL) 1011 уменьшается, и, таким образом, становится возможным уменьшить количество данных, так, что их количество становится меньшим, чем в случае, когда отдельные данные используются, как кодированные данные каждого уровня. Таким образом, становится возможным более эффективно использовать область в запоминающем устройстве модуля 1001 сохранения масштабируемых кодированных данных.
Кроме того, различные устройства, такие как персональный компьютер 1004 - мобильный телефон 1007, могут применяться, как терминальное устройство, и, таким образом, характеристики аппаратных средств терминальных устройств отличаются в соответствии с каждым устройством. Кроме того, поскольку различные приложения могут выполняться терминальными устройствами, программное обеспечение обладает разными возможностями. Кроме того, все сети с линиями связи, включающие в себя одну или обе из кабельной сети и беспроводной сети, такие как Интернет или LAN, могут применяться, как сеть 1003, используемая в качестве среды связи, и, таким образом, обеспечиваются различные возможности передачи данных. Кроме того, изменение может произойти при другой связи и т.п.
В этом отношении, сервер 1002 предоставления может быть выполнен с возможностью выполнения связи с терминальным устройством, используемым в качестве места назначения связи перед началом связи, и может получать информацию, относящуюся к возможностям терминального устройства, такую, как рабочие характеристики аппаратных средств терминального устройства или рабочие характеристики приложения (программного обеспечения), выполняемого терминальным устройством, и информацию, относящуюся к среде связи, в качестве доступной полосы пропускания сети 1003. Затем сервер 1002 предоставления может выбирать соответствующий уровень на основе полученной информация.
Кроме того, в терминальном устройстве может быть выполнено выделение уровня. Например, персональный компьютер 1004 может декодировать передаваемые масштабируемые кодированные данные (BL+EL) 1011 и отображать изображение основного уровня или изображение уровня расширения. Кроме того, например, персональный компьютер 1004 может выделять масштабируемые кодированные данные (BL) 1012 основного уровня из передаваемых масштабируемых кодированных данных (BL+EL) 1011, сохранять масштабируемые кодированные данные (BL) 1012 основного уровня, передавать масштабируемые кодированные данные (BL) 1012 основного уровня в другое устройство, декодировать масштабируемые кодированные данные (BL) 1012 основного уровня и отображать изображение основного уровня.
Конечно, количество модулей 1001 сохранения масштабируемых кодированных данных, количество серверов 1002 предоставления, количество сетей 1003 и количество терминальных устройств являются произвольными. Представленное выше описание было выполнено в связи с примером, в котором сервер 1002 предоставления передает данные в терминальное устройство, но пример применения не ограничен этим примером. Система 1000 связи может применяться для любой системы, в которой, когда кодированные данные, сгенерированные, используя масштабируемое кодирование, передают в терминальное устройство, соответствующий уровень выбирают в соответствии с возможностями терминального устройства или средой связи, и кодированные данные передают.
В системе 1000 связи на фиг. 58 применяется настоящая технология, аналогично применению масштабируемого кодирования и масштабируемого декодирования, описанному выше со ссылкой на фиг. 47-52, и, таким образом, могут быть получены те же эффекты, что и эффекты, описанные выше со ссылкой на фиг. 47-52.
Вторая система
Масштабируемое кодирование используется для передачи, используя множество сред связи, например, как представлено на фиг. 59.
В системе 1100 связи, показанной на фиг. 59, станция 1101 широковещательной передачи данных передает масштабируемые кодированные данные (BL) 1121 основного уровня через наземную широковещательную передачу 1111. Кроме того, станция 1101 широковещательной передачи передает масштабируемые кодированные данные (EL) 1122 уровня расширения (например, формирует пакеты из масштабируемых кодированных данных (EL) 1122 и затем передает полученные в результате пакеты) через произвольную сеть 1112, выполненную с сетью связи, включающую в себя одну или обе из кабельной сети и беспроводной сети.
Терминальное устройство имеет функцию приема, состоящую в приеме наземной широковещательной передачи 1111, передаваемой станцией 1101 широковещательной передачи, и принимает масштабируемые кодированные данные (BL) 1121 основного уровня, переданные через наземную широковещательную передачу 1111. Терминальное устройство 1102, кроме того, имеет функцию связи, состоящую в выполнении передачи данных через сеть 1112, и принимает масштабируемые кодированные данные (EL) 1122 уровня расширения, переданные через сеть 1112.
Терминальное устройство 1102 декодирует масштабируемые кодированные данные (BL) 1121 основного уровня, полученные через наземную широковещательную передачу 1111, например, в соответствии с инструкцией пользователя и т.п., получает изображение основного уровня, сохраняет полученное изображение и передает полученное изображение в другое устройство.
Кроме того, терминальное устройство 1102 комбинирует масштабируемые кодированные данные (BL) 1121 основного уровня, полученные через наземную широковещательную передачу 1111, с масштабируемыми кодированными данными (EL) 1122 уровня расширения, полученным через сеть 1112, например, в соответствии с инструкцией пользователя и т.п., получает масштабируемые кодированные данные (BL+EL), декодирует масштабируемые кодированные данные (BL+EL), для получения изображения уровня расширения, сохраняет полученное изображение и передает полученное изображение в другое устройство.
Как описано выше, становится возможным передавать масштабируемые кодированные данные соответствующих уровней, например, по разным средам связи. Таким образом, становится возможным распределять нагрузку, и при этом возможно предотвратить возникновение задержки или переполнение.
Кроме того, становится возможным выбирать среду связи, используемую для передачи, для каждого уровня, в соответствии с ситуацией. Например, масштабируемые кодированные данные (BL) 1121 основного уровня, имеющего относительное большое количество данных, могут быть переданы через среду связи, имеющую большую полосу пропускания, и масштабируемые кодированные данные (EL) 1122 уровня расширения, имеющие относительно небольшое количество данных, могут быть переданы через среду связи, имеющую малую полосу пропускания. Кроме того, например, среда связи, для передачи масштабируемых кодированных данных (EL) 1122 уровня расширения, может переключаться между сетью 1112 и наземной широковещательной передачей 1111, в соответствии с доступной полосой пропускания сети 1112. Конечно, то же относится к данным произвольного уровня.
Поскольку управление выполняют, как описано выше, становится возможным дополнительно предотвратить увеличение нагрузки при передаче данных.
Конечно, количество уровней является произвольным, и количество сред связи, используемых для передачи, также является произвольным. Кроме того, количество терминальных устройств 1102, используемых в качестве места назначения при передаче данных, также является произвольным. Представленное выше описание было описано в связи с примером широковещательной передачи из станции 1101 широковещательной передачи, и пример применения не ограничен этим примером. Система 1100 связи может применяться в любой системе, в которой кодированные данные, генерируемые при масштабируемом кодировании, разделяют на две или больше единиц уровней, и передают через множество линий.
В системе 1100 связи по фиг. 59 применяется настоящая технология, аналогично применению масштабируемого кодирования и масштабируемого декодирования, описанным выше со ссылкой на фиг. 47-52, и, таким образом, могут быть получены те же эффекты, что и эффекты, описанные выше со ссылкой на фиг. 47-52.
Третья система
Масштабируемое кодирование используется для сохранения кодированных данных, например, как представлено на фиг. 60.
В системе 1200 формирования изображений, представленной на фиг. 60, устройство 1201 формирования изображения выполняет масштабируемое кодирование для данных изображения, полученных в результате формирования изображения предмета 1211, и предоставляет масштабируемые кодированные данные (BL+EL) 1221 в устройство 1202 сохранения масштабируемых кодированных данных.
Устройство 1202 сохранения масштабируемых кодированных данных содержит масштабируемые кодированные данные (BL+EL) 1221, предоставляемые из устройства 1201 формирования изображения, с качеством, соответствующим ситуации. Например, в нормальное время, устройство 1202 сохранения масштабируемых кодированных данных выделяет данные основного уровня из масштабируемых кодированных данных (BL+EL) 1221, и сохраняет выделенные данные, как масштабируемые кодированные данные (BL) 1222 основного уровня, имеющего малое количество данных с низким качеством. С другой стороны, например, во время наблюдения, устройство 1202 сохранения масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1221, имеющие большое количество данных с высоким качеством, без изменения.
В соответствии с этим, устройство 1202 сохранения масштабируемых кодированных данных может сохранять изображение с высоким качеством только, когда это необходимо, и, таким образом, становится возможным предотвращать увеличение количества данных и улучшить эффективность использования области запоминающего устройства при предотвращении снижения значения изображения, вызванного ухудшением качества.
Например, устройство 1201 формирования изображения, как предполагается, может представлять собой камеру слежения. Когда цель слежения (например, злоумышленник) не представлена в снимаемом изображении (в нормальное время), содержание снимаемого изображения, вероятно, будет несущественным, и, таким образом, приоритет получает уменьшение количества данных, и данные изображения (масштабируемые кодированные данные) сохраняют с низким качеством. С другой стороны, когда цель отслеживания представлена в снимаемом изображении, как субъект 1211 (во время наблюдения), содержание снимаемого изображения, вероятно, будет существенным, и, таким образом, приоритет получает качество изображения, и данные изображения (масштабируемые кодированные данные) сохраняют с высоким качеством.
Можно определить, является ли данное время нормальным временем или временем наблюдения, например, путем анализа изображения с помощью устройства 1202 сохранения масштабируемых кодированных данных. Кроме того, устройство 1201 формирования изображения может выполнять определение и может передавать результат определения в устройство 1202 сохранения масштабируемых кодированных данных.
Кроме того, критерий определения в отношении того, является ли настоящее время нормальным временем или временем наблюдения, является произвольным, и содержание изображения, используемого, как критерий определения, является произвольным. Конечно, другие условия, кроме содержания изображения, могут использоваться в качестве критерия определения. Например, переключение может быть выполнено в соответствии с магнитудой или формой колебаний записываемого звука, переключение может выполняться через определенные интервалы времени, или переключение может выполняться в соответствии с внешней инструкции, такой как инструкция пользователя.
Представленное выше описание было описано в связи с примером, в котором переключение выполняют между двумя состояниями нормального времени и времени наблюдения, но количество состояний является произвольным. Например, переключение может выполняться между тремя или больше состояниями, такими как нормальное время, время наблюдения с низким уровнем, время наблюдения, время наблюдения с высоким уровнем и т.п.Здесь количество состояний верхнего уровня, на которые выполняют переключение, зависит от количества уровней масштабируемых кодированных данных.
Кроме того, устройство 1201 формирования изображения может определять количество уровней для масштабируемого кодирования, в соответствии с состоянием. Например, в нормальное время, устройство 1201 формирования изображения может генерировать масштабируемые кодированные данные (BL) 1222 основного уровня, имеющие малое количество данных с низким качеством, и может предоставлять масштабируемые кодированные данные (BL) 1222 основного уровня в устройство 1202 сохранения масштабируемых кодированных данных. Кроме того, например, во время наблюдения, устройство 1201 формирования изображения может генерировать масштабируемые кодированные данные (BL+EL) 1221 основного уровня, имеющие большое количество данных с высоким качеством, и предоставлять масштабируемые кодированные данные (BL+EL) 1221 основного уровня в устройство 1202 сохранения масштабируемых кодированных данных.
Представленное выше описание было выполнено в связи с примером камеры слежения, но назначение системы 1200 формирования изображений является произвольным и не ограничено камерой слежения.
В системе 1200 формирования изображений на фиг. 60 применяется настоящая технология, аналогично применению масштабируемого кодирования и масштабируемого декодирования, описанным выше со ссылкой на фиг. 47-52, и, таким образом, могут быть получены те же эффекты, что и эффекты, описанные выше со ссылкой на фиг. 47-52.
Кроме того, настоящая технология также может применяться при потоковой передаче HTTP, такой как MPEG-DASH, в которой соответствующие кодированные данные выбирают среди множества кодированных данных, имеющих разное разрешение, которые подготавливают заранее и используют. Другими словами, для множества кодированных данных может совместно использоваться информация, относящаяся к кодированию или декодированию.
10. Восьмой вариант осуществления
Другие варианты осуществления
Представленные выше варианты осуществления были описаны в связи с примером устройства, системы и т.п., в соответствии с настоящей технологией, но настоящая технология не ограничена представленными выше примерами и может быть воплощена, как любой компонент, установленный в устройстве, или как устройство, составляющее систему, например, процессор, используемый как большая интегральная схема (LSI) система и т.п., модуль, использующий множество процессоров и т.п., модуль, использующий множество модулей и т.п., набор (то есть некоторые компоненты устройства), в котором любую другую функцию дополнительно добавляют к модулю и т.п.
Видеонабор
Пример, в котором воплощена настоящая технология, как набор, будет описан со ссылкой на фиг. 61. На фиг. 61 иллюстрируется примерная схематичная конфигурация видеонабора, в котором применяется настоящая технология.
В последние годы функции электронных устройств стали разнообразными, и когда некоторые компоненты воплощают в масштабе, в виде предоставления и т.п., при разработке или производстве, возникает множество случаев, в которых множество компонентов, имеющих соответствующие функции, комбинируют и воплощают, как набор, имеющий множество функций, а также случаев, в которых воплощение выполняют, как компонент, имеющий одну функцию.
Видеонабор 1300, представленный на фиг. 61, представляет собой многофункциональную конфигурацию, в которой устройство, имеющее функцию, относящуюся к кодированию изображения и/или декодированию изображения, комбинируют с устройством, имеющим любую другую функцию, относящуюся к этой функции.
Видеонабор 1300 включает в себя группу модуля, такую как видеомодуль 1311, внешнее запоминающее устройство 1312, модуль 1313 управления электропитанием и модуль 1314 внешнего интерфейса и устройство, имеющее соответствующие функции, такие как модуль 1321 соединения, камера 1322 и датчик 1323, как представлено на фиг. 61.
Модуль представляет собой часть, имеющую множество функций, в которых интегрированы несколько соответствующих функций - частей. Конкретная физическая конфигурация является произвольной, но, например, она установлена так, что множество процессоров, имеющих соответствующие функции, элементы электронной схемы, такие как резистор и конденсатор, и другие устройства расположены и встроены на подложке с разводкой проводов. Кроме того, новый модуль может быть получен путем комбинирования другого модуля или процессора с данным модулем.
В случае примера на фиг. 61, видеомодуль 1311 представляет собой комбинацию компонентов, имеющих функции, относящиеся к обработке изображений, и включают в себя процессор 1331 приложения, видеопроцессор 1332, широкополосный модем 1333 и радиочастотный модуль 1334 (RF).
Процессор представляет собой процессор, в котором конфигурация, имеющая заданную функцию, интегрирована в полупроводниковую схему через "систему на кристалле" (SoC), и также относится, например, к LSI системе и т.п. Конфигурация, имеющая заданную функцию, может представлять собой логическую схему (аппаратная конфигурация), может представлять собой CPU, ROM, RAM и программу (программную конфигурацию), исполняемую, используя CPU, ROM и RAM, и может представлять собой комбинацию аппаратной конфигурации и программной конфигурации. Например, процессор может включать в себя логическую схему, CPU, ROM, RAM и т.п., некоторые функции могут быть воплощены через логическую схему (аппаратная конфигурация), и другие функции могут быть воплощены через программу (программная конфигурация), исполняемую CPU.
Процессор 1331 приложения на фиг. 61 представляет собой процессор, который исполняет приложение, относящееся к обработке изображений. Приложение, исполняемое процессором 1331 приложения, может не только выполнять обработку расчетов, но также управлять компонентами внутри и снаружи видеомодуля 1311, такими как видеопроцессор 1332, в соответствии с необходимостью, для воплощения заданной функции.
Видеопроцессор 1332 представляет собой процессор, имеющий функцию, относящуюся к кодированию изображения и/или декодированию изображения.
Широкополосный модем 1333 выполняет цифровую модуляцию для данных (цифрового сигнала), которые должны быть переданы через проводное и/или беспроводное широкополосное соединение, которое выполняется через широкополосную линию, такую как Интернет или сеть на основе открытой телефонной линии, и преобразует данные в аналоговый сигнал, или выполняет демодуляцию для аналогового сигнала, принятого через широкополосную передачу данных, и преобразует аналоговый сигнал в данные (цифровой сигнал). Например, широкополосный модем 1333 обрабатывает произвольную информацию, такую как данные изображения, обрабатываемые видеопроцессором 1332, поток, включающий в себя кодированные данные изображения, программу приложения или установочные данные.
RF модуль 1334 представляет собой модуль, который выполняет обработку преобразования частоты, обработку модуляции/демодуляции, обработку усиления, обработку фильтрации и т.п. для RF сигнала, принятого через антенну. Например, RF модуль 1334 выполняет, например, преобразование частоты для сигнала основной полосы, генерируемого широкополосным модемом 1333, и генерирует RF сигнал. Кроме того, например, RF модуль 1334 выполняет, например, преобразование частоты для RF сигнала, принятого через модуль 1314 внешнего интерфейса, и генерирует сигнал основной полосы пропускания.
Кроме того, как представлено пунктирной линией 1341 на фиг. 61, процессор 1331 приложения и видеопроцессор 1332 могут быть интегрированы в один процессор.
Внешнее запоминающее устройство 1312 установлено снаружи видеомодуля 1311, и представляет собой модуль, имеющий устройство сохранения, используемый видеомодулем 1311. Устройство сохранения внешнего запоминающего устройства 1312 может быть воплощено в любой физической конфигурации, но обычно используется для сохранения данных большого объема, таких как данные изображения модулей кадра, и, таким образом, желательно воплотить устройство сохранения внешнего запоминающего устройства 1312, используя относительно дешевое полупроводниковое запоминающее устройство большой емкости, такое как динамическое оперативное запоминающее устройство (DRAM).
Модуль 1313 управления электропитанием управляет и контролирует источник питания в видеомодуле 1311 (соответствующих компонентов в видеомодуле 1311).
Модуль 1314 внешнего интерфейса представляет собой модуль, который обеспечивает функцию внешнего интерфейса (схему приемного конца на стороне антенны) для RF модуля 1334. Модуль 1314 внешнего интерфейса включает в себя, например, антенный модуль 1351, фильтр 1352 и модуль 1353 усиления, как представлено на фиг. 61.
Антенный модуль 1351 включает в себя антенну, которая выполняет прием и передачу радиосигнала и внешнюю конфигурацию антенны. Антенный модуль 1351 передает сигнал, предоставляемый из модуля 1353 усиления, как радиосигнал, и предоставляет принятый радиосигнал в фильтр 1352, как электрический сигнал (RF сигнал). Фильтр 1352 выполняет, например, обработку фильтрации для RF сигнала, принятого через антенный модуль 1351, и предоставляет обработанный RF сигнал в RF модуль 1334. Модуль 1353 усиления усиливает RF сигнал, предоставляемый из RF модуля 1334, и предоставляет усиленный RF сигнал в антенный модуль 1351.
Модуль 1321 соединения представляет собой модуль, имеющий функцию, относящуюся к соединению с внешним миром. Физическая конфигурация модуля 1321 соединения является произвольной. Например, модуль 1321 соединения включает в себя конфигурацию, имеющую другую функцию связи, кроме стандарта передачи данных, поддерживаемого широкополосным модемом 1333, внешним выводом I/O и т.п.
Например, модуль 1321 соединения может включать в себя модуль, имеющий функцию связи на основе стандарта беспроводной связи, такого как Bluetooth (зарегистрированный товарный знак), IEEE 802.11 (например, Wireless Fidelity (Wi-Fi) (зарегистрированный товарный знак)), модуль связи в ближнем поле (NFC), модуль ассоциации инфракрасной связи (IrDA), антенну, которая передает и принимает сигнал, удовлетворяющий этому стандарту, и т.п. Кроме того, например, модуль 1321 соединения может включать в себя модуль, имеющий функцию связи на основе стандарта проводной связи, такого как универсальная последовательная шина (USB), или мультимедийный интерфейс высокой четкости (HDMI) (зарегистрированный товарный знак) или разъем, который удовлетворяет этому стандарту. Кроме того, например, модуль 1321 соединения может включать в себя любую другую функцию связи (сигнала) и т.п., такую как аналоговый разъем I/O.
Кроме того, модуль 1321 соединения может включать в себя устройство, составляющее место назначения связи (сигнала). Например, модуль 1321 соединения может включать в себя привод (включающий в себя жесткий диск, SSD, Накопитель, подключаемый через сеть (NAS), и т.п., а также привод съемного носителя), который считывает/записывает данные с носителя записи или на носитель записи, такой как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство. Кроме того, модуль 1321 соединения может включать в себя выходное устройство (монитор, громкоговоритель и т.п.), которое выводит изображение или звук.
Камера 1322 представляет собой модуль, имеющий функцию фотографирования субъекта и получения данных изображения субъекта. Например, данные изображения, получаемые камерой 1322 фотосъемки, предоставляют в видеопроцессор 1332 и кодируют с его помощью.
Датчик 1323 представляет собой модуль, имеющий функцию произвольного датчика, такую как датчик звука, ультразвуковой датчик, оптический датчик, датчик освещения, инфракрасный датчик, датчик изображения, датчик поворота, датчик угла, датчик угловой скорости, датчик скорости, датчик ускорения, датчик наклона, датчик магнитной идентификации, датчик ударов или датчик температуры. Например, данные, обнаруживаемые датчиком 1323, предоставляют в процессор 1331 приложения и используют с помощью приложения и т.п.
Конфигурация, описанная выше, как модуль, может быть воплощена, как процессор, и конфигурация, описанная, как процессор, может быть воплощена, как модуль.
В видеонаборе 1300, имеющем описанную выше конфигурацию, настоящая технология может применяться для видеопроцессора 1332, как будет описано ниже. Таким образом, видеонабор 1300 может быть воплощен, как набор, в котором применяется настоящая технология.
Пример конфигурации видеопроцессора
На фиг. 62 иллюстрируется примерная схематичная конфигурация видеопроцессора 1332 (фиг. 61), в которой применяется настоящая технология.
В случае примера на фиг. 62, видеопроцессор 1332 имеет функцию приема входного видеосигнала и аудиосигнала, и кодирования видеосигнала и аудиосигнала, в соответствии с заданной схемой и функцией декодирования кодированных видеоданных и аудиоданных, и воспроизведения и вывода видеосигнала и аудиосигнала.
Видеопроцессор 1332 включает в себя модуль 1401 обработки входных видеоданных, первый модуль 1402 увеличения/уменьшения изображения, второй модуль 1403 увеличения/уменьшения изображения, модуль 1404 обработки выходных видеоданных, запоминающее устройство 1405 кадра и модуль 1406 управления запоминающим устройством, как представлено на фиг. 62. Видеопроцессор 1332 дополнительно включает в себя механизм 1407 кодирования/декодирования, буферы 1408А и 1408В элементарного потока (ES) видеоданных и буферы 1409А и 1409В ES аудиоданных. Видеопроцессор 1332 дополнительно включает в себя аудиокодер 1410, аудиодекодер 1411, мультиплексор (мультиплексор (MUX)) 1412, демультиплексор (демультиплексор (DMUX)) 1413 и буфер 1414 потока.
Например, модуль 1401 обработки входных видеоданных получает видеосигнал, вводимый из модуля 1321 соединения (фиг. 61) и т.п., и преобразует видеосигнал в цифровые данные изображения. Первый модуль 1402 увеличения/уменьшения изображения выполняет, например, обработку преобразования формата и обработку увеличения/уменьшения данных изображения. Второй модуль 1403 увеличения/уменьшения изображения выполняет обработку увеличения/уменьшения изображения для данных изображения, в соответствии с форматом места назначения, в котором данные изображения выводят через модуль 1404 обработки выходных видеоданных или выполняет обработку преобразования формата и обработку увеличения/уменьшения изображения, которая идентична выполняемой первым модулем 1402 увеличения/уменьшения изображения для данных изображения. Модуль 1404 обработки выходных видеоданных выполняет преобразование формата и преобразование в аналоговый сигнал данных изображения, и выводит воспроизводимый видеосигнал, например, для модуля 1321 соединения (фиг. 61) и т.п.
Запоминающее устройство 1405 кадра представляет собой запоминающее устройство данных изображения, которое совместно используется модулем 1401 обработки ввода видеоданных, первым модулем 1402 увеличения/уменьшения изображения, вторым модулем 1403 увеличения/уменьшения изображения, модулем 1404 обработки выходных видеоданных и механизмом 1407 кодирования/декодирования. Запоминающее устройство 1405 кадра воплощено как, например, полупроводниковое запоминающее устройство, такое как DRAM.
Модуль 1406 управления запоминающим устройством принимает синхронный сигнал от механизма 1407 кодирования/декодирования и управляет доступом к записи/считыванию из запоминающего устройства 1405 кадра, в соответствии с планом доступа для запоминающего устройства 1405 кадра в таблице 1406А управления доступом. Таблицу 1406А управления доступом обновляют, используя модуль 1406 управления запоминающим устройством, в соответствии с обработкой, исполняемой механизмом 1407 кодирования/декодирования, первым модулем 1402 увеличения/уменьшения изображения, вторым модулем 1403 увеличения/ уменьшения изображения и т.п.
Механизм 1407 кодирования/декодирования выполняет обработку кодирования для данных изображения кодирования и обработку декодирования, состоящую в декодировании видеопотока, которая представляет собой данные, полученные в результате кодирования данных изображения. Например, механизм 1407 кодирования/декодирования кодирует данные изображения, считанные из запоминающего устройства 1405 кадра, и последовательно записывает кодированные данные изображения в буфер 1408A ES видеоданных, как видеопоток. Кроме того, например, механизм 1407 кодирования/декодирования последовательно считывает видеопоток из буфера 1408В ES видеоданных, последовательно декодирует видеопоток и последовательно записывает декодированные данные изображения в запоминающее устройство 1405 кадра. Механизм 1407 кодирования/декодирования использует запоминающее устройство 1405 кадра, как рабочую область, во время кодирования или декодирования. Кроме того, механизм 1407 кодирования/декодирования выводит синхронный сигнал в модуль 1406 управления запоминающим устройством, например, в момент времени, в который начинается обработка каждого макроблока.
Буфер 1408A ES видеоданных размещает в буфере видеопоток, генерируемый механизмом 1407 кодирования/декодирования, и затем предоставляет видеопоток в мультиплексор (MUX) 1412. Буфер 1408В ES видеоданных размещает в буфере видеопоток, предоставляемый из демультиплексора (DMUX) 1413, и затем подает этот видеопоток в механизм 1407 кодирования/декодирования.
Буфер 1409А ES аудиоданных размещает в буфере поток аудиоданных, генерируемый аудиокодером 1410, и затем предоставляет поток аудиоданных в мультиплексор (MUX) 1412. Буфер 1409В ES аудиоданных размещает в буфере аудиопоток, предоставляемый из демультиплексора (DMUX) 1413, и затем предоставляет этот аудиопоток в аудиодекодер 1411.
Например, аудиокодер 1410 преобразует аудиосигнал, представляемый, например, из модуля 1321 соединения (фиг. 61) и т.п. в цифровой сигнал, и кодирует цифровой сигнал, в соответствии с заданной схемой, такой как аудиосхема MPEG или схема AudioCode, номер 3 (АС3). Аудиокодер 1410 последовательно записывает поток аудиоданных, который представляет собой данные, полученные путем кодирования аудиосигнала, в буфере 1409A ES аудиоданных. Аудиодекодер 1411 декодирует аудиопоток, передаваемый из буфера 1409В ES аудиоданных, выполняет, например, преобразование в аналоговый сигнал, и предоставляет воспроизведенный аудиосигнал, например, в модуль 1321 соединения (фиг. 61) и т.п.
Мультиплексор (MUX) 1412 выполняет мультиплексирование видеопотока и аудиопотока. Способ мультиплексирования (то есть, формат потока битов, генерируемый при мультиплексировании), является произвольным. Кроме того, во время мультиплексирования, мультиплексор (MUX) 1412 может добавлять заданную информацию заголовка и т.п. в поток битов. Другими словами, мультиплексор (MUX) 1412 может преобразовывать формат потока путем мультиплексирования. Например, мультиплексор (MUX) 1412 мультиплексирует видеопоток и аудиопоток, предназначенный для преобразования, в поток транспортирования, который представляет собой поток битов в формате транспортирования. Кроме того, например, мультиплексор (MUX) 1412 мультиплексирует видеопоток и аудиопоток, предназначенный для преобразования в данные (данные файла) в формате файла записи.
Демультиплексор (DMUX) 1413 демультиплексирует поток битов, полученный в результате мультиплексирования видеопотока и аудиопотока с помощью способа, соответствующего мультиплексированию, выполняемого с помощью мультиплексора (MUX) 1412. Другими словами, демультиплексор (DMUX) 1413 выделяет видеопоток и аудиопоток (разделяет видеопоток и аудиопоток) из потока битов, считываемого из буфера 1414 потока. Другими словами, демультиплексор (DMUX) 1413 может выполнять преобразование (обратное преобразование для преобразования, выполняемого мультиплексором (MUX) 1412) в формате потока через демультиплексирование. Например, демультиплексор (DMUX) 1413 может получать транспортный поток, предоставляемый, например, из модуля 1321 соединения, или через широкополосный модем 1333 (оба показаны на фиг. 61), через буфер 1414 потока, и преобразует транспортный поток в видеопоток и аудиопоток посредством демультиплексирования. Кроме того, например, демультиплексор (DMUX) 1413 может получать данные файла, считываемые с различного рода носителей записи, используя, например, модуль 1321 соединения (фиг. 61) через буфер 1414 потока, и преобразует данные файла в видеопоток и аудиопоток, используя демультиплексирование.
Буфер 1414 потока размещает в буфере поток битов. Например, буфер 1414 потока размещает в буфере транспортный поток, предоставляемый из мультиплексора (MUX) 1412, и предоставляет транспортный поток, например, в модуль 1321 соединения или модем 1333 широкополосной передачи (оба показаны на фиг. 61) в заданные моменты времени или на основе внешнего запроса и т.п.
Кроме того, например, буфер 1414 потока размещает в буфере данные файла, предоставляемые из мультиплексора (MUX) 1412, предоставляет данные файла, например, в модуль 1321 соединения (фиг. 61) и т.п. в заданные моменты времени или на основе внешнего запроса и т.п., и обеспечивает запись данных файла на различного рода носители записи.
Кроме того, буфер 1414 потока размещает в буфере транспортный поток, получаемый, например, через модуль 1321 соединения или широкополосный модем 1333 (оба показаны на фиг. 61), и предоставляет транспортный поток в демультиплексор (DMUX) 1413 в заданные моменты времени или на основе внешнего запроса и т.п.
Кроме того, буфер 1414 потока размещает в буфере данные файла, считанные с различного рода носителей записи, например, в модуле 1321 соединения (фиг. 61) и т.п., и предоставляет данные файла в демультиплексор (DMUX) 1413 в заданные моменты времени или на основе внешнего запроса и т.п.
Далее будет описана операция видеопроцессора 1332, имеющего описанную выше конфигурацию. Видеосигнал, представляемый в видеопроцессор 1332, например, из модуля 1321 соединения (фиг. 61) и т.п., преобразуют в данные цифрового изображения, в соответствии с заданной схемой, такой как схема 4:2:2Y/Cb/Cr в модуле 1401 обработки ввода видеоданных, и последовательно записывают в запоминающее устройство 1405 кадра. Цифровые данные изображения считывают из первого модуля 1402 увеличения/уменьшения изображения или второго модуля 1403 увеличения/ уменьшения изображения после обработки преобразования формата, в ходе которой выполняют преобразование формата в заданную схему, такую как схема 4:2:0Y/Cb/Cr, и обработки увеличения/уменьшения, и снова записывают в запоминающее устройство 1405 кадра. Данные изображения кодируют с помощью механизма 1407 кодирования/декодирования, и записывают в буфер 1408A ES видеоданных, как поток видеоданных.
Кроме того, аудиосигнал, представляемый с процессор 1332 видеоданных из модуля 1321 соединения (фиг. 61) и т.п., кодируют с помощью аудиокодера 1410, и записывают в буфер 1409А ES аудиоданных, как аудиопоток.
Поток видеоданных буфера 1408A ES видеоданных и аудиопоток буфера 1409А ES аудиоданных считывают в и мультиплексируют с помощью мультиплексора (MUX) 1412, и преобразуют в транспортный поток, файлы данных и т.п. Транспортный поток, генерируемый мультиплексором (MUX) 1412, помещают в буфер в буфере 1414 потока, и затем выводят во внешнюю сеть, например, через модуль 1321 соединения или широкополосный модем 1333 (оба показаны на фиг. 61). Кроме того, данные файла, генерируемые мультиплексором (MUX) 1412, помещают в буфер в буфере 1414 потока, затем выводят, например, в модуль 1321 соединения (фиг. 61) и т.п., и записывают на различного рода носители записи.
Кроме того, транспортный поток, представляемый в видеопроцессор 1332 из внешней сети, например, через модуль 1321 соединения или широкополосный модем 1333 (оба показаны на фиг. 61) помещают в буфер в буфере 1414 потока и затем демультиплексируют с помощью демультиплексора (DMUX) 1413. Кроме того, данные файла, которые считывают с различного рода носителей записи, подают, например, в модуль 1321 соединения (фиг. 61) и т.п., и затем подают в видеопроцессор 1332 видеоданных, помещают в буфер в буфере 1414 потока и затем демультиплексируют с помощью демультиплексора (DMUX) 1413. Другими словами, транспортный поток или данные файла, вводимые в видеопроцессор 1332 видеоданных, демультиплексируют в видеопоток и аудиопоток через демультиплексор (DMUX) 1413.
Аудиопоток предоставляют в аудио декодер 1411 через буфер 1409 В ES аудиоданных и декодируют, и, таким образом, воспроизводят аудиосигнал. Кроме того, поток видеоданных записывают в буфер 1408В ES видеоданных, последовательно считывают в и декодируют с помощью механизма 1407 кодирования/декодирования, и записывают в запоминающее устройство 1405 кадра. Декодированные данные изображения подвергают обработке увеличения/уменьшения, выполняемой вторым модулем 1403 увеличения/уменьшения изображения, и записывают в запоминающее устройство 1405 кадра. Затем данные декодированного изображения считывают из модуля 1404 обработки вывода видеоданных, подвергаемые обработке преобразования формата, состоящей в выполнении преобразования формата до заданной схемы, такой как схема 4:2:2Y/Cb/Cr, и преобразуют в аналоговый сигнал, и, таким образом, видеосигнал воспроизводят.
Когда настоящую технологию применяют для видеопроцессора 1332, имеющего описанную выше конфигурацию, предпочтительно, чтобы описанные выше варианты осуществления настоящей технологии применялись в механизме 1407 кодирования/декодирования. Другими словами, например, механизм 1407 кодирования/декодирования, предпочтительно, имеет функции устройства кодирования изображения и устройства декодирования изображения, в соответствии с вариантами осуществления. В соответствии с этим, видеопроцессор 1332 может получать те же эффекты, как и эффекты, описанные выше со ссылкой на фиг. 1-43.
Кроме того, в механизме 1407 кодирования/декодирования настоящая технология (то есть, функции устройств кодирования изображения или устройств декодирования изображения, в соответствии с представленными выше вариантами осуществления) могут быть воплощена либо в одним из аппаратных средств, таком как логическая схема, или в программных средствах, таких как встроенное программное обеспечение, или используя оба этих подхода.
Другая примерная конфигурация видеопроцессора
На фиг. 63 иллюстрируются другие примерные схематичные конфигурации видеопроцессора 1332 (фиг. 61), в котором применяется настоящая технология. В случае примера на фиг. 63, видеопроцессор 1332 имеет функцию кодирования и декодирования видеоданных, в соответствии с заданной схемой.
Более конкретно, видеопроцессор 1332 включает в себя модуль 1511 управления, интерфейс 1512 отображения, механизм 1513 отображения, механизм 1514 обработки изображения, и внутреннее запоминающее устройство 1515, как представлено на фиг. 63. Видеопроцессор 1332 дополнительно включает в себя механизм 1516 кодека, интерфейс 1517 запоминающего устройства, мультиплексор/демультиплексор (MUX DMUX) 1518, сетевой интерфейс 1519 и видеоинтерфейс 1520.
Модуль 1511 управления управляет операцией каждого модуля обработки в видеопроцессоре 1332, таком как интерфейс 1512 отображения, механизм 1513 отображения, механизм 1514 обработки изображения и механизм 1516 кодека.
Модуль 1511 управления включает в себя, например, основное CPU 1531, вспомогательное CPU 1532 и системный контроллер 1533, как представлено на фиг. 63. Основное CPU 1531 выполняет, например, программу для управления операцией каждого модуля обработки в видеопроцессоре 1332. Основное CPU 1531 генерирует сигнал управления, например, в соответствии с программой, и предоставляет сигнал управления в каждый модуль обработки (то есть, управляет операцией каждого модуля обработки). Вспомогательное CPU 1532 играет вспомогательную роль в отношении основного CPU 1531. Например, вспомогательное CPU 1532 выполняет дочернюю обработку или подпрограмму для программы, исполняемой основным CPU 1531. Системный контроллер 1533 управляет операциями основного CPU 1531 и вспомогательного CPU 1532, например, обозначает программу, исполняемую основным CPU 1531 и вспомогательным CPU 1532.
Интерфейс 1512 отображения выводит данные изображения, например, в модуль 1321 соединения (фиг. 61) и т.п. под управлением модуля 1511 управления. Например, интерфейс 1512 отображения преобразует данные изображения, состоящие из цифровых данных, в аналоговый сигнал, и выводит аналоговый сигнал, например, в устройство монитора модуля 1321 соединения (фиг. 61), как воспроизведенный видеосигнал, или выводит данные изображения, такие как цифровые данные, например, в устройство монитора модуля 1321 соединения (фиг. 61).
Механизм 1513 отображения выполняет различного рода обработку преобразования, такую как обработка преобразования формата, обработка преобразования размера, и обработка преобразования цветовой палитры для данных изображения под управлением модуля 1511 управления, для того, чтобы соответствовать, например, спецификации аппаратных средств устройства монитора, которое отображает изображение.
Механизм 1514 обработки изображения выполняет заданную обработку изображений, такую как обработка фильтрации, для улучшения качества изображения для данных изображения под управлением модуля 1511 управления.
Внутреннее запоминающее устройство 1515 представляет собой запоминающее устройство, которое установлено в видеопроцессоре 1332 и совместно используется механизмом 1513 отображения, механизмом 1514 обработки изображения, и механизмом 1516 кодека. Внутреннее запоминающее устройство 1515 используется для передачи данных, выполняемой, например, между механизмом 1513 отображения, механизмом 1514 обработки изображения механизмом 1516 кодека. Например, внутреннее запоминающее устройство 1515 сохраняет данные, предоставляемые механизмом 1513 отображения, механизмом 1514 обработки изображения или механизмом 1516 кодека, и предоставляет эти данные в механизм 1513 отображения, механизм 1514 обработки изображения или в механизм 1516 кодека, в соответствии с необходимостью (например, по запросу). Внутреннее запоминающее устройство 1515 может быть воплощено любым устройством сохранения, но поскольку внутреннее запоминающее устройство 1515, в основном, используется для сохранения данных малого объема, таких как данные изображения модулей блоков или параметров, желательно воплотить внутреннее запоминающее устройство 1515, используя полупроводниковое запоминающее устройство, которое выполнено относительно малым по емкости (например, по сравнению с внешним запоминающим устройством 1312) и которое имеет быструю скорость отклика, такое как статическое оперативное запоминающее устройство (SRAM).
Механизм 1516 кодека выполняет обработку, относящуюся к кодированию и декодированию данных изображения. Схема кодирования/декодирования, поддерживаемая механизмом 1516 кодека, является произвольной, и одна или больше схем могут поддерживаться механизмом 1516 кодека. Например, механизм 1516 кодека может иметь функцию кодека, состоящую в поддержке множества схем кодирования/декодирования, и выполнять кодирование данных изображения или декодирование кодированных данных, используя схему, выбранную среди схем.
В примере, представленном на фиг. 63, механизм 1516 кодека включает в себя, например, модуль 1541 обработки видеоданных MPEG 2, модуль 1542 обработки AVC/H.264, модуль 1543 HEVC/H.265, модуль 1544 HEVC/H.265 (масштабируемый), модуль HEVC/H.265 (многопроекционный) 1545 и MPEG-DASH 1551, как функциональные блоки для обработки, связанные с кодеком.
Видеомодуль 1541 MPEG 2 представляет собой функциональный блок, выполняющий кодирование или декодирование данных изображения в соответствии со схемой MPEG 2. Модуль 1542 AVC/H.264 представляет собой функциональный блок для кодирования или декодирования данных изображения, в соответствии со схемой AVC. Модуль 1543 HEVC/H.265 представляет собой функциональный блок кодирования или декодирования данных изображения, в соответствии со схемой HEVC. Модуль 1544 HEVC/H.265 (масштабируемый) представляет собой функциональный блок, предназначенный для исполнения масштабируемого кодирования или масштабируемого декодирования данных изображения, в соответствии со схемой HEVC. Модуль 1545 HEVC/H.265 (многопроекционный) представляет собой функциональный блок, который выполняет многопроекционное кодирование или многопроекционное декодирование для данных изображения, в соответствии со схемой HEVC.
MPEG-DASH 1551 представляет собой функциональный блок, состоящий в передаче и приеме данных изображения, в соответствии с MPEG - динамическая адаптивная потоковая передача через HTTP (MPEG-DASH). MPEG-DASH представляет собой технологию потоковой передачи видеоданных, используя протокол передачи гипертекста (HTTP), и имеет свойство выбора соответствующей одной среди множества частей кодированных данных, которые отличаются по заранее подготовленному разрешению и т.п. в единицах сегментов и передачи выбранных из них. Модуль 1551 MPEG-DASH выполняет генерирование потока, соответствующего стандарту, управление передачей потока и т.п., и использует модуль 1541 видеоданных MPEG 2 в модуле 1545 HEVC/H.265 (многопроекционный) для кодирования и декодирования данных изображения.
Интерфейс 1517 запоминающего устройства представляет собой интерфейс для внешнего запоминающего устройства 1312. Данные, предоставляемые из механизма 1514 обработки изображения или из механизма 1516 кодека, подают во внешнее запоминающее устройство 1312 через интерфейс 1517 запоминающего устройства. Кроме того, данные, считываемые из внешнего запоминающего устройства 1312, предоставляют в видеопроцессор 1332 (механизм 1514 обработки изображения или механизм 1516 кодека) через интерфейс 1517 запоминающего устройства.
Мультиплексор/демультиплексор (MUX/DMUX) 1518 выполняет мультиплексирование, для демультиплексирования различного рода данных, относящихся к изображению, таких как поток битов кодированных данных, данных изображения и видеосигнала. Способ мультиплексирования/демультиплексирования является произвольным. Например, во время мультиплексирования, мультиплексор/демультиплексор (MUX/DMUX) 1518 может не только комбинировать множество частей данных в одну часть, но также добавлять заданную информацию заголовка и т.п. к данным. Кроме того, во время демультиплексирования, мультиплексор/демультиплексор (MUX/DMUX) 1518 может не только разделять одну часть данных на множество частей данных, но также добавлять заданную информацию заголовка и т.п. к каждым разделенным данным. Другими словами, мультиплексор/демультиплексор (MUX DMUX) 1518 может преобразовывать формат данных в ходе мультиплексирования и демультиплексирования. Например, мультиплексор/демультиплексор (MUX/DMUX) 1518 может мультиплексировать поток битов, предназначенный для преобразования, в транспортный поток, используемый, как поток битов формата передачи или данных (данных файла) формата записи файла. Конечно, обратное преобразование также может быть выполнено через демультиплексирование.
Сетевой интерфейс 1519 представляет собой интерфейс, например, широкополосный модем 1333 или модуль 1321 соединения (оба показаны на фиг. 61). Интерфейс 1520 видеоданных представляет собой интерфейс, например, для модуля 1321 соединения или камеры 1322 (оба показаны на фиг. 61).
Далее будет описана примерная операция видеопроцессора 1332. Например, когда транспортный поток принимают из внешней сети, например, через модуль 1321 соединения или широкополосный модем 1333 (оба показаны на фиг. 61), транспортный поток предоставляют в мультиплексор/демультиплексор (MUX DMUX) 1518 через сетевой интерфейс 1519, демультиплексируют и затем декодируют, используя механизм 1516 кодека. Данные изображения, получаемые в результате декодирования механизма 1516 кодека, подвергают заданной обработке изображения, например, используя механизм 1514 обработки изображения, подвергают заданному преобразованию, выполняемому механизмом 1513 отображения, и предоставляют, например, в модуль 1321 соединения (фиг. 61) и т.п. через интерфейс 1512 отображения, таким образом, что изображение отображается на мониторе. Кроме того, например, данные изображения, полученные в результате декодирования механизмом 1516 кодека, снова кодируют с помощью механизма 1516 кодека, мультиплексируют мультиплексором/демультиплексором (MUX/DMUX) 1518, для преобразования в данные файла, выводят, например, в модуль 1321 соединения (фиг. 61) и т.п. через видеоинтерфейс 1520, и затем записывают на различного рода носители записи.
Кроме того, например, данные файла кодированных данных, полученные из кодированных данных изображения, считанных с носителя записи (не показан) через модуль 1321 соединения (фиг. 61) и т.п. предоставляют в мультиплексор/демультиплексор (MUX/DMUX) 1518 через видеоинтерфейс 1520, и демультиплексируют, и декодируют, используя механизм 1516 кодека. Данные изображения, полученные в результате декодирования механизмом 1516 кодека, подвергают заданной обработке изображений, выполняемой механизмом 1514 обработки изображения, после заданного преобразования, выполняемого механизмом 1513 отображения, и предоставляют, например, в модуль 1321 соединения (фиг. 61) и т.п. через интерфейс 1512 отображения, и, таким образом, изображение отображают на мониторе. Кроме того, например, данные изображения, получаемые в результате декодирования механизма 1516 кодека, снова кодируют с помощью механизма 1516 кодека, мультиплексируют, используя мультиплексор/демультиплексор (MUX DMUX) 1518 для преобразования в транспортный поток, предоставляемый, например, в модуль 1321 соединения или в широкополосный модем 1333 (оба показаны на фиг. 61) через сетевой интерфейс 1519, и передают в другое устройство (не показано).
Кроме того, выполняют передачу данных изображения или других данных между модулями обработки в видеопроцессоре 1332, например, используя внутреннее запоминающее устройство 1515 или внешнее запоминающее устройство 1312. Кроме того, модуль 1313 управления электропитанием управляет, например, питанием, представляемым в модуль 1511 управления.
Когда настоящая технология применяется для видеопроцессора 1332, имеющего описанную выше конфигурацию, желательно применять представленные выше варианты осуществления настоящей технологии в механизм 1516 кодека. Другими словами, например, предпочтительно, чтобы механизм 1516 кодека имел функциональный блок, воплощающий устройство кодирования изображения и устройство декодирования изображения, в соответствии с вариантами осуществления. Кроме того, например, видеопроцессор 1332 может иметь такие же эффекты, как и эффекты, описанные выше со ссылкой на фиг. 1-43.
Кроме того, в механизме 1516 кодека, настоящая технология (то есть, функции устройств кодирования изображения или устройств декодирования изображения, в соответствии с вариантом осуществления, представленным выше) могут быть воплощены, используя одно из или оба из аппаратных средств, таких как логическая схема, или программных средств, таких как встроенная программа.
Две примерные конфигурации видеопроцессора 1332 были описаны выше, но конфигурация видеопроцессора 1332 является произвольной и может иметь любую другую конфигурацию, чем представленные выше две примерные конфигурации. Кроме того, видеопроцессор 1332 может быть выполнен на одной полупроводниковой схеме или может быть выполнен в множестве полупроводниковых микросхем. Например, видеопроцессор 1332 может быть выполнен на основе трехмерных, уложенных стопкой LSI, в которых множество полупроводниковых подложек уложены друг на друга. Кроме того, видеопроцессор 1332 может быть воплощен, используя множество LSI.
Примеры применения в устройствах
Видеонабор 1300 может быть встроен в различного вида устройства, которые обрабатывают данные изображения. Например, видеонабор 1300 может быть встроен в телевизионное устройство 900 (фиг. 54), мобильный телефон 920 (фиг. 55), устройство 940 записи/воспроизведения (фиг. 56), устройство 960 формирования изображения (фиг. 57) и т.п. При встраивании видеонабора 1300 устройства могут иметь те же эффекты, что и эффекты, описанные выше со ссылкой на фиг. 1-43.
Кроме того, видеонабор 1300 может также быть встроен устройство терминала, такое как персональный компьютер 1004, AV устройство 1005, планшетное устройство 1006 или мобильный телефон 1007 в системе 1000 передачи данных по фиг. 58, в станции 1101 широковещательной передачи данных или в устройстве 1102 терминала, в системе 1100 связи по фиг. 59, или в устройстве формирования изображения или в устройстве 1202 сохранения масштабируемых кодированных данных в системе 1200 формирования изображений по фиг. 60. При встраивании видеонабора 1300 устройства могут проявлять те же эффекты, что и эффекты, описанные выше со ссылкой на фиг. 1-43.
Далее, даже каждый компонент видеонабора 1300 может быть воплощен, как компонент, в котором применяется настоящая технология, когда компонент включает в себя видеопроцессор 1332. Например, только видеопроцессор 1332 может быть воплощен, как видеопроцессор, в котором применяется настоящая технология. Кроме того, например, процессоры, обозначенные пунктирной линией 1341, как описано выше, видеомодуль 1311 и т.п. могут быть воплощены, как, например, процессор или модуль, в котором применяется настоящая технология. Кроме того, например, комбинация видеомодуля 1311, внешнего запоминающего устройства 1312, модуля 1313 управления питанием и модуля 1314 внешнего интерфейса может быть воплощена, как видеомодуль 1361, в котором применяется настоящая технология. Такие конфигурации могут иметь те же эффекты, как и эффекты, описанные выше со ссылкой на фиг. 1-43.
Другими словами, конфигурация, включающая в себя видеопроцессор 1332, может быть встроена в различного вида устройства, которые обрабатывают данные изображения, аналогично случаю видеонабора 1300. Например, видеопроцессор 1332, процессоры, обозначенные пунктирной линией 1341, видеомодуль 1311 или видеомодуль 1361 могут быть встроены в телевизионное устройство 900 (фиг. 54), мобильного телефона 920 (фиг. 55), устройство 940 записи/воспроизведения (фиг. 56), устройство 960 формирования изображения (фиг. 57), терминальное устройство, такого как персональный компьютер 1004, AV устройство 1005, планшетное устройство 1006 или мобильный телефон 1007 в системе 1000 передачи данных по фиг. 58, в станцию 1101 широковещательной передачи или в терминальное устройство 1102 в системе 1100 связи по фиг. 59, в устройство 1201 формирования изображения или в устройство 1202 сохранения масштабируемых кодированных данных, в системе 1200 формирования изображений по фиг. 60 и т.п. Кроме того, при использовании конфигурации, в которой применяется настоящая технология, устройства могут иметь те же эффекты, что и эффекты, описанные выше со ссылкой на фиг. 1-43, аналогично видеонабору 1300.
11. Девятый вариант осуществления
Пример применения MPEG-DASH
Настоящая технология также может применяться в системе выбора соответствующих данных среди множества частей кодированных данных, имеющих разные разрешающие способности, которые подготавливают заранее в единицах сегментов, и при использовании выбранных данных, например, системы воспроизведения содержания при потоковой передаче данных HTTP или в беспроводной системе передачи данных, в соответствии со стандартом Wi-Fi, таким как MPEG-DASH, который будет описан ниже.
Общий обзор системы воспроизведения содержания
Вначале, со ссылкой на фиг. 64-66, схематично будет описана система воспроизведения содержания, в которой может применяться настоящая технология.
Основная конфигурация, которая является общей в вариантах осуществления, будет описана ниже со ссылкой на фиг. 64 и 65.
На фиг. 64 показана пояснительная схема, иллюстрирующая конфигурацию системы воспроизведения содержания. Система воспроизведения содержания включает в себя серверы 1610 и 1611 содержания, сеть 1612 и устройство 1620 воспроизведения содержания (устройство - клиент), как представлено на фиг. 64.
Серверы 1610 и 1611 содержания соединены с устройством 1620 воспроизведения содержания через сеть 1612. Сеть 1612 представляет собой кабельный или беспроводный канал передачи информации, передаваемой из устройства, подключенного к сети 1612.
Например, сеть 1612 может включать в себя сеть общедоступной линии, такой как Интернет, сеть телефонной линии или сеть спутниковой передачи данных, различного вида LAN, такие как Ethernet (зарегистрированный товарный знак), глобальную вычислительная сеть (WAN) и т.п. Кроме того, сеть 1612 может включать в себя сеть на выделенной линии, такую как виртуальная частная сеть, работающая на протоколе Интернет (IP VPN).
Сервер 1610 содержания кодирует данные содержания и генерирует, и сохраняет файл данных, включающий в себя метаинформацию кодированных данных и кодированные данные. Когда сервер 1610 содержания генерирует файл данных в формате МР4, кодированные данные соответствуют "mdat", и метаинформация соответствует "moov".
Кроме того, данные содержания могут представлять собой музыкальные данные, такие как музыка, лекция или радиопередача, видеоданные, такие как кинофильм, телевизионная программа, видеопрограмма, фотография, документ, картина и графическое изображение, игра, программное обеспечение и т.п.
Здесь сервер 1610 содержания генерирует множество файлов данных для того же содержания с различными скоростями передачи битов. Кроме того, в ответ на запрос на воспроизведение содержания, полученный из устройства 1620 воспроизведения содержания, сервер 1611 содержания включает в себя информацию о параметре, добавленную к соответствующему URL устройством 1620 воспроизведения содержания, в информации URL сервера 1610 содержания, и передает полученную в результате информацию в устройство 1620 воспроизведения содержания. Детали будут описаны ниже со ссылкой на фиг. 65.
На фиг. 65 показана пояснительная схема, иллюстрирующая поток данных в системе воспроизведения содержания по фиг. 64. Сервер 1610 содержания кодирует одни и те же данные содержания в разными скоростями передачи битов, и генерирует, например, файл А для 2 Мбит/с, файл В для 1,5 Мбит/с и файл С для 1 Мбит/с, как представлено на фиг. 65. Соответственно, файл А имеет высокую скорость передачи битов, файл В имеет стандартную скорость передачи битов, и файл С имеет низкую скорость передачи битов.
Далее, кодированные данные каждого файла делят на множество сегментов, как представлено на фиг. 65. Например, кодированные данные файла А делят на сегменты, такие как "A1", "А2", "A3", … и An, кодированные данные файла В делят на сегменты, такие как "В1", "В2", "В3", … и "Bn", и кодированные данные файла С делят на сегменты, такие как "C1", "С2", "С3", … и "Cn".
Кроме того, каждый сегмент может быть выполнен с выборкой конфигурации, вместо одной или больше частей кодированных видеоданных и кодированных аудиоданных, которые начинаются с выборки потребителя МР4 (например, изображение IDR при видеокодировании AVC/H.264) и является независимо воспроизводимым. Например, когда видеоданные с частотой 30 кадров в секунду кодируют, используя GOP, имеющий фиксированную длину 15 кадров, каждый сегмент может представлять собой кодированные видео- и аудиоданные длительностью 2 секунды, соответствующие 4 GOP, или могут представлять собой кодированные видео- и аудиоданные длительностью 10 секунд, соответствующие 20 GOP.
Кроме того, сегменты, которые являются одинаковыми в порядке размещения в каждом файле, имеют одинаковые диапазоны воспроизведения (диапазоны положения времени от заголовка содержания). Например, диапазоны воспроизведения сегмента "А2", сегмента "В2" и сегмента "С2" являются одинаковыми, и когда каждый сегмент представляет собой кодированные данные длительностью 2 секунды, диапазоны воспроизведения сегмента "А2", сегмента "В2" и сегмента "С2" составляют 2-4 секунд содержания.
Когда файл А - файл С, выполненные из множеством сегментов, генерируют, сервер 1610 содержания сохраняет файл А в файле С. Кроме того, как представлено на фиг. 65, сервер 1610 содержания последовательно передает сегменты, составляющие разные файлы, в устройство 1620 воспроизведения содержания, и устройство 1620 воспроизведения содержания выполняет потоковое воспроизведение принятых сегментов.
Здесь сервер 1610 содержания, в соответствии с настоящим вариантом осуществления, передает файл списка воспроизведения (ниже "описание представления мультимедийных данных (MPD)"), включающий в себя информацию скорости передачи битов и информацию доступа каждых кодированных данных в устройство 1620 воспроизведения содержания, и устройство 1620 воспроизведения содержания выбирает любую из множества скоростей передачи битов на основе MPD, и запрашивает сервер 1610 содержания передать сегмент, соответствующий выбранной скорости передачи битов.
На фиг. 64 представлен только один сервер 1610 содержания, но настоящее раскрытие не ограничено этим примером.
На фиг. 66 показана пояснительная схема, иллюстрирующая конкретный пример MPD. MPD включает в себя информацию доступа, относящуюся к множеству частей кодированных данных, имеющих разные скорости передачи битов (полосы пропускания), как представлено на фиг. 66. Например, MPD, представленное на фиг. 66, обозначает, что имеются кодированные данные 256 Кбит/с, кодированные данные 1,024 Мбит/с, кодированные данные 1,384 Мбит/с, кодированные данные 1,536 Мбит/с и кодированные данные 2,048 Мбит/с, и включает в себя информацию доступа, относящуюся к каждым кодированным данным. Устройство 1620 воспроизведения содержания может динамически изменять скорость передачи битов кодированных данных, которые подвергают потоковому воспроизведению на основе MPD.
Кроме того, на фиг. 64 иллюстрируется мобильный терминал, в качестве примера устройства 1620 воспроизведения содержания, но устройство 1620 воспроизведения содержания не ограничено этим примером. Например, устройство 1620 воспроизведения содержания может представлять собой устройство обработки информации, такое как персональный компьютер (PC), домашнее устройство обработки видеоданных (устройство записи DVD, устройство записи на видеокассету (VCR)), карманные персональные компьютеры (PDA), используемое дома игровое устройство или бытовое электрическое устройство. Кроме того, устройство 1620 воспроизведения содержания может представлять собой устройство обработки информации, такое как мобильный телефон, система персональных мобильных телефонов (PHS), портативный проигрыватель музыки, портативное устройство обработки видеоданных или портативное игровое устройство.
Конфигурация сервера 1610 содержания
Общий обзор системы воспроизведения содержания был описан выше со ссылкой на фиг. 64-66. Далее конфигурация сервера 1610 содержания будет описана со ссылкой на фиг. 67.
На фиг. 67 показана функциональная блок-схема, иллюстрирующая конфигурацию сервера 1610 содержания. Сервер 1610 содержания включает в себя модуль 1631 генерирования файла, модуль 1632 сохранения и модуль 1633 связи, как представлено на фиг. 67.
Модуль 1631 генерирования файла включает в себя кодер 1641, который кодирует данные содержания, и генерирует множество частей кодированных данных, имеющих разные скорости передачи битов для одного и того же содержания и MPD. Например, когда генерируют кодированные данные 256 Кбит/с, кодированные данные 1,024 Мбит/с, кодированные данные 1,384 Мбит/с, кодированные данные 1,536 Мбит/с и кодированные данные 2,048 Мбит/с, модуль 1631 генерирования файла генерирует MPD, представленный на фиг. 66.
Модуль 1632 сохранения сохраняет множество частей кодированных данных, имеющих разные скорости передачи битов и MPD, генерируемый модулем 1631 генерирования файла. Модуль 1632 сохранения может представлять собой носитель сохранения, такой как энергонезависимое запоминающее устройство, магнитный диск, оптический диск или магнитооптический (МО) диск. Примеры энергонезависимого запоминающего устройства включают в себя электрически стираемое программируемое постоянное запоминающее устройство (EEPROM) и стираемое программируемое ROM (EPROM). В качестве магнитного диска, используется жесткий диск, магнитный диск типа диска и т.п. Кроме того, в качестве оптического диска, используется компакт-диск (CD), цифровой универсальный диск с возможностью записи (DVD-R), Blu-ray Disc (BD) (зарегистрированный товарный знак) и т.п.
Модуль 1633 связи представляет собой интерфейс с устройством 1620 воспроизведения содержания, и связывается с устройством 1620 воспроизведения содержания через сеть 1612. Более подробно, модуль 1633 связи имеет функцию сервера HTTP, который связывается с устройством 1620 воспроизведения содержания, в соответствии с HTTP. Например, модуль 1633 связи передает MPD в устройство 1620 воспроизведения содержания, выделяет кодированные данные, запрашиваемые на основе MPD из устройства 1620 воспроизведения содержания, в соответствии с HTTP, из модуля 1632 сохранения, и передает кодированные данные в устройство 1620 воспроизведения содержания, как ответ HTTP.
Конфигурация устройства 1620 воспроизведения содержания
Конфигурация сервера 1610 содержания, в соответствии с настоящим вариантом осуществления, была описана выше. Далее, со ссылкой на фиг. 68, будет описана конфигурация устройства 1620 воспроизведения содержания.
На фиг. 68 показана функциональная блок-схема, иллюстрирующая конфигурацию устройства 1620 воспроизведения содержания. Устройство 1620 воспроизведения содержания включает в себя модуль 1651 связи, модуль 1652 сохранения, модуль 1653 воспроизведения, модуль 1654 выбора и модуль 1656 получения текущего местоположения, как представлено на фиг. 68.
Модуль 1651 связи представляет собой интерфейс с сервером 1610 содержания, запрашивает сервер 1610 содержания передать данные, и получает данные из сервера 1610 содержания. Более подробно, модуль 1651 связи имеет функцию клиента HTTP, который связывается с устройством 1620 воспроизведения содержания, в соответствии с HTTP. Например, модуль 1651 связи может избирательно получать MPD и сегменты кодированных данных из сервера 1610 содержания, используя диапазон HTTP.
Модуль 1652 сохранения сохраняет различного вида части информации, относящейся к воспроизведению содержания. Например, сегменты, полученные из сервера 1610 содержания модулем 1651 связи, последовательно размещают в буфере. Сегменты кодированных данных, размещенные в буфере, в модуле 1652 сохранения, последовательно подают в модуль 1653 воспроизведения, используя режим: первым поступил - первым обработан (FIFO).
Кроме того, модуль 1652 сохранения добавляет параметр к URL через модуль 1651 связи на основе инструкции для добавления параметра к URL содержания, которая описана в MPD и которая запрашивается сервером 1611 содержания, который будет описан ниже, и сохраняет определение для доступа к URL.
Модуль 1653 воспроизведения последовательно воспроизводит сегменты, поданные из модуля 1652 сохранения. В частности, модуль 1653 воспроизведения выполняет декодирование сегмента, DA преобразование, рендеринг и т.п.
Модуль 1654 выбора последовательно выбирает, был или нет получен сегмент кодированных данных, соответствующих любым скоростям передачи битов, включенным в MPD, для одного и того же содержания. Например, когда модуль 1654 выбора последовательно выбирает сегменты "A1", "В2" и "A3", в соответствии с полосой частот сети 1612, модуль 1651 передачи данных последовательно получает сегменты "A1", "В2" и "A3" из сервера 1610 содержания, как представлено на фиг. 65.
Модуль 1656 получения текущего местоположения может быть выполнен с модулем, который получает текущее положение устройства 1620 воспроизведения содержания, например, получает текущее положение, используя приемник глобальной системы навигации (GPS) и т.п. Кроме того, модуль 1656 получения текущего местоположения может получать текущее положение устройства 1620 воспроизведения содержания, используя беспроводную сеть.
Конфигурация сервера 1611 содержания
На фиг. 69 показана схема для описания примерной конфигурации сервера 1611 содержания. Сервер 1611 содержания включает в себя модуль 1671 сохранения и модуль 1672 связи, как представлено на фиг. 69.
Модуль 1671 сохранения сохраняет информацию URL MPD. Информацию URL MPD передают из сервера 1611 содержания в устройство 1620 воспроизведения содержания, в соответствии с запросом, принятым из устройства 1620 воспроизведения содержания, который запрашивает воспроизведение содержания. Кроме того, когда информацию URL MPD предоставляют в устройство 1620 воспроизведения содержания, модуль 1671 сохранения сохраняет информацию определения, используемую, когда устройство 1620 воспроизведения содержания добавляет параметр к URL, описанному в MPD.
Модуль 1672 связи представляет собой интерфейс с устройством 1620 воспроизведения содержания и связывается с устройством 1620 воспроизведения содержания через сеть 1612. Другими словами, модуль 1672 связи принимает запрос на получение информации URL в MPD из устройства 1620 воспроизведения содержания, которое запрашивает воспроизведение содержания, и передает информацию URL MPD в устройство 1620 воспроизведения содержания. URL MPD, переданный из модуля 1672 связи, включает в себя информацию, параметр к которой добавляют через устройство 1620 воспроизведения содержания.
Различные установки могут быть выполнены для параметра, который добавляют в URL MPD через устройство 1620 воспроизведения содержания на основе информации определения, совместно используемой сервером 1611 содержания, и устройством 1620 воспроизведения содержания. Например, информация, такая как текущее положение устройства 1620 воспроизведения содержания, ID пользователя для пользователя, использующего устройство 1620 воспроизведения содержания, размер запоминающего устройства в устройстве 1620 воспроизведения содержания, и емкость для сохранения устройства 1620 воспроизведения содержания могут быть добавлены к URL MPD через устройство 1620 воспроизведения содержания.
В системе воспроизведения содержания, имеющей описанную выше конфигурацию, когда применяется настоящая технология, описанная выше со ссылкой на фиг. 1-43, могут быть получены те же эффекты, как и эффекты, описанные выше со ссылкой на фиг. 1-43.
Другими словами, кодер 1641 сервера 1610 содержания имеет функцию устройства кодирования изображения, в соответствии с представленным выше вариантом осуществления. Кроме того, модуль 1653 воспроизведения устройства 1620 воспроизведения содержания имеет функцию устройства декодирования изображения, в соответствии с описанным выше вариантом осуществления. Таким образом, возможно предотвратить увеличение емкости сохранения, необходимой для кодирования и декодирования.
Кроме того, в системе воспроизведения содержания, когда данные, кодированные в соответствии с настоящей технологией, передают и принимают, возможно предотвратить увеличение емкости сохранения, необходимой для кодирования и декодирования.
12. Десятый вариант осуществления
Примеры применения системы беспроводной связи по стандарту Wi-Fi
Основной пример работы устройства беспроводной связи в системе беспроводной связи, в которой может применяться настоящая технология, будет описан ниже.
Основной пример работы устройства беспроводной связи
Вначале беспроводные пакеты передают и принимают, пока не будет установлено пиринговое соединение (Р2Р), и не будет запущено специальное приложение.
Затем перед тем, как соединение будет установлено через второй уровень, беспроводные пакеты передают и принимают до тех пор, пока не будет назначено специальное приложение, предназначенное для использования, затем устанавливают соединение Р2Р, и обеспечивают работу специального приложения. После этого, после того, как будет установлено соединение через второй уровень, передают и принимают беспроводные пакеты для активации специального приложения.
Пример передачи данных, когда начинается работа специального приложения
На фиг. 70 и 71 показаны блок-схемы последовательности операций, иллюстрирующие примерную обработку связи устройствами, используемыми, как основа беспроводной связи, в качестве примера передачи и приема беспроводных пакетов, до тех пор, пока не будет установлено Р2Р соединение, и не будет выполнена работа специального приложения. В частности, иллюстрируется примерная обработка установления прямого соединения, состоящая в установлении соединения в стандарте прямого Wi-Fi (который также называется "Wi-Fi Р2Р"), стандартизированного в Wi-Fi альянс.
Здесь, в Wi-Fi Direct, множество устройств беспроводной связи обнаруживают присутствие устройства беспроводной связи другой стороны (обнаружение устройства и обнаружение услуги). Кроме того, когда выполняется выбор устройства соединения, выполняют аутентификацию устройства между выбранными устройствами через защищенную установку Wi-Fi (WPS), и затем устанавливают прямое соединение. В Wi-Fi Direct множество устройств беспроводной связи принимают решение выполнять роль ведущего устройства (владельца группы) или ведомого устройства (клиента), и формировать группу связи.
Здесь, при такой примерной обработке связи, передача и прием некоторых пакетов не иллюстрируется. Например, во время первого соединения, обмен пакетами для использования WPS является необходимым, как описано выше, и обмен пакетами также является необходимым при обмене запросом/ответом аутентификации и т.п. Однако на фиг. 70 и 71 такой обмен пакетами не иллюстрируется, и иллюстрируется только второе и последующие соединения.
Кроме того, на фиг. 70 и 71, представлена примерная обработка связи между первым устройством 1701 беспроводной связи и вторым устройством 1702 беспроводной связи, но то же относится к обработке связи между другими устройствами беспроводной связи.
Вначале выполняют определение устройства между первым устройством 1701 беспроводной связи и вторым устройством 1702 беспроводной связи (1711). Например, первое устройство 1701 беспроводной связи передает пробный запрос (сигнал запроса отклика) и принимает пробный отклик (сигнал отклика) на пробный запрос из второго устройства 1702 беспроводной связи. Таким образом, первое устройство 1701 беспроводной связи и второе 1702 устройство беспроводной связи могут определять присутствие другой стороны. Кроме того, в результате определения устройства, становится возможным выводить наименование устройства или тип (TV, PC, смартфон и т.п.) для другой стороны.
Затем выполняют определение услуги между первым устройством 1701 беспроводной связи и вторым устройством 1702 беспроводной связи (1712). Например, первое устройство 1701 беспроводной связи передает запрос на определение услуги, состоящей в запросе услуги, поддерживаемом вторым устройством 1702 беспроводной связи, которое было определено в ходе определения устройства. Затем первое устройство 1701 беспроводной связи может получать услугу, поддерживаемую вторым устройством 1702 беспроводной связи, путем приема ответа на определение услуги из второго устройства 1702 беспроводной связи. Другими словами, в ходе определения услуги, становится возможным получить, например, услугу, исполняемую другой стороной. Например, услуга, исполняемая другой стороной, представляет собой услугу или протокол (альянс цифровых сетей для дома (DLNA), цифровой мультимедийный рендеринг (DMR) и т.п.).
Затем пользователь выполняет операцию (операцию выбора партнера по соединению), состоящую в выборе партнера по соединению (1713). Операция выбора партнера по соединению может быть выполнена любым одним из первого устройства 1701 беспроводной связи и второго устройства 1702 беспроводной связи. Например, экран выбора партнера по соединению отображается в модуле дисплея первого устройства 1701 беспроводной связи, и второго устройства 1702 беспроводной связи, на экране выбора выбирают партнера по соединению, в качестве партнера по соединению, в соответствии с операцией пользователя.
Когда пользователь выполняет операцию выбора партнера по соединению (1713), выполняется согласование владельца группы между первым устройством 1701 беспроводной связи и вторым устройством 1702 беспроводной связи (1714). В примере, представленном на фиг. 70 и 71, в результате согласования владельца группы, первое устройство 1701 беспроводной связи становится владельцем 1715 группы, и второе устройство 1702 беспроводной связи становится клиентом 1716.
Затем обработка (1717-1720) выполняется между первым устройством 1701 беспроводной связи и вторым устройством 1702 беспроводной связи, и, таким образом, устанавливается прямое соединение. Другими словами, последовательно выполняется ассоциация (L2 (второй уровень) установления соединения) (1717) и установление защищенного соединения (1718). Далее, последовательно выполняется назначение IP-адреса (1719) и установка L4 (1720) для L3, используя простой протокол определения услуги (SSDP). Затем L2 (уровень 2) обозначает второй уровень (уровень соединения данных), L3 (уровень 3) обозначает третий уровень (уровень сети), и L4 (уровень 4) обозначает четвертый уровень (транспортный уровень).
Затем пользователь выполняет операцию назначения специального приложения или операцию активации (операцию назначения/активацию приложения) (1721). Операция назначения /активации специальное приложения может выполняться только одним из первого устройства 1701 беспроводной связи и второго устройства 1702 беспроводной связи. Например, экран операции назначения/активации приложения отображается в модуле дисплея первого устройства 1701 беспроводной связи, и специальное приложение выбирают на экране операции назначения/активации приложения, в соответствии с операцией пользователя.
Когда пользователь выполняет операцию (1721) назначения/активации, специального приложения, соответствующего операции назначения/активации приложения, выполняют между первым устройством 1701 беспроводной связи и вторым устройством 1702 беспроводной связи (1722).
Здесь считается, что соединение выполняется между станциями точек доступа (АР-STA) в диапазоне спецификации (спецификации, стандартизированной в IEEE802.11) перед стандартом Wi-Fi Direct. В этом случае трудно заранее детектировать устройство, которому требуется соединиться прежде, чем соединение будет установлено через второй уровень (перед тем, как будет выполнено ассоциирование в терминологии IEEE802.11).
С другой стороны, как представлено на фиг. 70 и 71, в Wi-Fi Direct, когда ищут кандидата на партнера по соединению, используя определение устройства или определение услуги (не обязательно), становится возможным получать информацию о партнере по соединению. Примеры информации о партнере по соединению включают в себя тип основного устройства и поддерживаемого специальным приложением. Кроме того, становится возможным обеспечить возможность для пользователя выбора партнера по соединению на основе полученной информации партнера по соединению.
В результате расширения этого описания, также возможно воплотить беспроводную систему передачи данных, в которой специальное приложение назначают перед тем, как соединение будет установлено через второй уровень, выбирают партнера по соединению, и специальное приложение автоматически активируют после выбора. Пример последовательности установления соединения в этом случае представлен на фиг. 73. Кроме того, примерная конфигурация формата кадра, передаваемого и принимаемого при обработке передачи данных, иллюстрируется на фиг. 72.
Пример конфигурации формата кадра
На фиг. 72 показана схема, схематично иллюстрирующая пример конфигурации формата кадра в процессе передачи данных, выполняемом устройствами, используемыми, как основа настоящей технологии. Другими словами, на фиг. 72 иллюстрируется пример конфигурации фрейма MAC, используемого для установления соединения через второй уровень. В частности, здесь показан пример формата фрейма ассоциированного запроса/отклика (1787) для воплощения последовательности, показанной на фиг. 73.
Как представлено на фиг. 72, фрейм MAC включает в себя управление фреймом (1751) для FCS (1758), и участок, продолжающийся от управления фреймом (1751), до управления последовательностью (1756), используется, как заголовок MAC. Кроме того, когда передают запрос на ассоциацию, В3В2 = "0b00" и В7В6В5В4 = "0b0000" устанавливают в управлении фреймом (1751). Кроме того, когда ответ на ассоциацию будет инкапсулирован, В3В2 = "0b00" и В7В6В5В4 = "0b0001" устанавливают в управлении фреймом (1751). Кроме того, "0b00" равно "00" в двоичном обозначении, "0b0000" равно "0000" в двоичном обозначении, и "0b0001" равно "0001" в двоичном обозначении.
Здесь фрейм MAC (тело фрейма (1757)), представленный на фиг. 70, в принципе, представляет собой формат фрейма запроса/отклика на ассоциацию, описанный в разделах 7.2.3.4 и 7.2.3.5 спецификации IEEE802.11-2007. Здесь различие заключается в том, что также включены независимо продолжающиеся информационные элементы (ниже сокращенно называются "IEs"), а также IE, определенные в спецификации IEEE802.11(1759).
Кроме того, порядок для обозначения IE, специфичный для поставщика (1760), 127, который представляет собой десятичное число, устанавливают для типа IE (ID (информационного элемента 1761)). В этом случае, в разделе 7.3.2.26 спецификации IEEE802.11-2007, длина поля (1762) и поле OUI (1763) расположены последовательно, и специфичное для поставщика содержание (1764) расположено последовательно.
В качестве содержания специфичного для поставщика содержания (1764), вначале устанавливают поле (тип IE (1765)), обозначающее тип IE, специфичный для поставщика. Затем рассматривают возможность назначения конфигурации, позволяющей сохранять множество подэлементов (1766).
В качестве содержания подэлемента (1766), рассматривают возможность включения наименования (1767) специального приложения, предназначенного для использования и роли устройства (1768), когда специальное приложение работает. Кроме того, рассматривают возможность включения информации (информации для установки L4) (1769) специального приложения, номера порта, используемого для управления ею, и т.п., и информации (информации о возможностях) (1770), относящейся к возможностям в специальном приложении. Здесь, например, когда назначенное специальное приложение представляет собой DLNA, информация о возможностях представляет собой информацию для установления, поддерживается или нет передача/воспроизведение аудиоданных, поддерживается или нет передача/воспроизведение видеоданных, и т.п.
В системе беспроводной связи, имеющей описанную выше конфигурацию, когда применяют настоящую технологию, описанную выше со ссылкой на фиг. 1-43, могут быть получены те же эффекты, как эффекты, описанные выше со ссылкой на фиг. 1-43. Другими словами, возможно предотвращать увеличение емкости сохранения, необходимой для кодирования и декодирования. Кроме того, в системе беспроводной связи, когда выполняют передачу и прием данных, кодированных в соответствии с настоящей технологией, возможно предотвращать увеличение емкости сохранения, необходимой для кодирования и декодирования.
Здесь представлено описание в связи с примером, в котором различного вида части информации мультиплексируют в кодированный поток и передают со стороны кодирования на сторону декодирования. Однако технология передачи информации не ограничена этим примером. Например, информация может быть передана или может быть записана, как отдельные данные, ассоциированные с кодированным потоком битов, без мультиплексирования в кодированный поток битов. Здесь термин "ассоциированные" означает, что изображение (или часть изображения, такое как срез или блок), включенное в поток битов, может быть соединено с информацией, соответствующей изображению во время декодирования. Другими словами, информация может быть передана через другой путь передачи данных, чем изображение (или поток битов). Кроме того, информация может быть записана на носителе записи (или в другой области записи на том же носителе записи), отличном от изображения (или потока битов). Кроме того, например, информация и изображение (или поток битов) могут быть ассоциированы друг с другом в произвольных модулях, таких как модули, состоящие из множества кадров, модули кадров или модули частей кадра.
Предпочтительные варианты осуществления настоящего раскрытия будут описаны выше со ссылкой на приложенные чертежи, в то время, как настоящее раскрытие не ограничено представленными выше примерами. Специалист в данной области техники может найти различные изменения и модификации в пределах объема приложенной формулы изобретения, и следует понимать, что они, естественно, попадают в технический объем настоящего раскрытия.
Настоящая технология может также иметь следующие конфигурации.
(1) Устройство обработки изображения, включающее в себя:
модуль ограничения для ограничения значения элемента синтаксиса, относящегося к обработке изображения между кадрами, при выполнении обработки кодирования выполняют на основе профиля для кодирования неподвижного изображения; и
модуль передачи для передачи элемента синтаксиса, имеющего значение, ограниченное модулем ограничения.
(2) Устройство обработки изображения по любому из (1) и (3)-(7), дополнительно включающее в себя,
модуль кодирования для кодирования данных изображения, с использованием элемента синтаксиса, ограниченного модулем ограничения, и генерирования потока битов, при этом
модуль передачи дополнительно выполнен с возможностью передачи потока битов, генерируемого модулем кодирования.
(3) Устройство обработки изображений по любому из (1), (2) и (4)-(7),
в котором элемент синтаксиса сохраняют в наборе параметра последовательности потока битов.
(4) Устройство обработки изображений по любому из (1)-(3) и (5)-(7),
в котором элемент синтаксиса представляет собой синтаксис, относящийся к опорному кадру.
(5) Устройство обработки изображений по любому из (1)-(4), (6) и (7),
в котором элемент синтаксиса представляет собой синтаксис, относящийся к количеству опорных кадров.
(6) Устройство обработки изображений по любому из (1)-(5) и (7),
в котором модуль ограничения устанавливает значение элемента синтаксиса до заданного значения, когда выполняют обработку кодирования на основе профиля кодирования неподвижного изображения.
(7) Устройство обработки изображений по любому из (1)-(6), в котором заданное значение равно 0.
(8) Способ обработки изображений, включающий в себя этапы, на которых: ограничивают значение элемента синтаксиса, относящегося к обработке между изображениями, при выполнении обработки кодирования на основе профиля для кодирования неподвижного изображения; и
передают элемент синтаксиса, имеющий ограниченное значение.
(9) Способ обработки изображений по любому из (8) и (10)-(14), дополнительно включающий в себя этапы, на которых:
кодируют данные изображения, с использованием ограниченного элемента синтаксиса, генерируют поток битов, и передают указанный поток битов.
(10) Способ обработки изображений по любому из (8), (9) и (11)-(14),
в котором элемент синтаксиса сохраняют в наборе параметра последовательности потока битов.
(11) Способ обработки изображений по любому из (8)-(10) и (12)-(14),
в котором элемент синтаксиса представляет собой синтаксис, относящийся к опорному кадру.
(12) Способ обработки изображений по любому из (8)-(11), (13) и (14),
в котором элемент синтаксиса представляет собой синтаксис, относящийся к количеству опорных кадров.
(13) Способ обработки изображений по любому из (8)-(12) и (14),
в котором значение элемента синтаксиса устанавливают, как заданное значение, когда обработку кодирования выполняют на основе профиля кодирования неподвижного изображения.
(14) Способ обработки изображений по любому из (8)-(13), в котором заданное значение равно 0.
Список номеров ссылочных позиций
100 Устройство кодирования изображения
106 Модуль кодирования без потерь
121 Модуль установки профиля
131 Модуль установки элемента синтаксиса
132 Модуль кодирования
200 Устройство кодирования изображения
211 Модуль определения
300 Устройство декодирования изображения
302 Модуль декодирования без потерь
321 Модуль определения профиля
331 Модуль декодирования
332 Модуль анализа элемента синтаксиса
400 Устройство декодирования изображения
411 Модуль обработки ненормального состояния
421 Модуль инспектирования элемента синтаксиса.
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ И СПОСОБ | 2013 |
|
RU2651201C2 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЙ И СПОСОБ | 2013 |
|
RU2673100C1 |
УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЙ И СПОСОБ | 2013 |
|
RU2645284C2 |
Способ и устройство кодирования изображений | 2014 |
|
RU2662922C2 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2639250C2 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2667719C1 |
УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ | 2014 |
|
RU2669685C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2012 |
|
RU2604339C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2012 |
|
RU2600537C1 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ, УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ | 2013 |
|
RU2666305C1 |
Группа изобретений относится к технологиям обработки изображений. Техническим результатом является уменьшение кодируемой и передаваемой информации за счет использования обработки неподвижного изображения, отличной от обработки подвижного изображения, посредством определения профиля изображений без добавления дополнительных элементов синтаксиса. Предложено устройство обработки изображения, содержащее схему. Схема выполнена с возможностью определения того, выполняется ли обработка кодирования на основе профиля для кодирования неподвижного изображения. Далее, осуществляют установку значения элемента синтаксиса, относящегося к опорному кадру, используемому при обработке изображения подуровня, в заданное значение, когда определено, что обработку кодирования выполняют на основе профиля для кодирования неподвижного изображения. А также кодируют данные изображения с использованием элемента синтаксиса, имеющего заданное значение для генерирования потока битов, включающего в себя элемент синтаксиса, имеющий заданное значение, для передачи. 3 н. и 9 з.п. ф-лы, 73 ил.
1. Устройство обработки изображения, содержащее схему, выполненную с возможностью:
определения, выполняется ли обработка кодирования на основе профиля для кодирования неподвижного изображения;
установки значения элемента синтаксиса, относящегося к опорному кадру, используемому при обработке изображения подуровня, в заданное значение, когда определено, что обработку кодирования выполняют на основе профиля для кодирования неподвижного изображения; и
кодирования данных изображения с использованием элемента синтаксиса, имеющего заданное значение для генерирования потока битов, включающего в себя элемент синтаксиса, имеющий заданное значение, для передачи; при этом
указанное значение элемента синтаксиса установлено в заданное значение для указания, что профиль потока битов является профилем для кодирования неподвижного изображения, а также того, что поток битов содержит данные неподвижного изображения и не содержит данных движущегося изображения.
2. Устройство обработки изображения по п. 1, в котором схема дополнительно выполнена с возможностью передачи потока битов на устройство декодирования.
3. Устройство обработки изображений по п. 2, характеризующееся тем, что выполнено с возможностью
сохранения элемента синтаксиса в наборе параметров последовательности потока битов.
4. Устройство обработки изображений по п. 3, в котором
элемент синтаксиса представляет собой синтаксис, относящийся к максимальному количеству подуровней.
5. Устройство обработки изображений по п. 1, в котором
заданное значение равно 0.
6. Устройство обработки изображений по п. 1, в котором
указанный подуровень является временным уровнем.
7. Способ обработки изображений, содержащий этапы, на которых:
определяют, выполняется ли обработка кодирования данных изображения на основе профиля для кодирования неподвижного изображения;
устанавливают значение элемента синтаксиса, относящегося к опорному кадру, используемому при обработке изображения подуровня, в заданное значение, при определении, что обработка кодирования осуществляется на основе профиля для кодирования неподвижного изображения; и
кодируют данные изображения с использованием элемента синтаксиса, имеющего заданное значение для генерирования потока битов, включающего в себя элемент синтаксиса, имеющий заданное значение, для передачи; при этом
указанное значение элемента синтаксиса установлено в заданное значение для указания, что профиль потока битов является профилем для кодирования неподвижного изображения, а также того, что поток битов содержит данные неподвижного изображения и не содержит данных движущегося изображения.
8. Способ обработки изображений по п. 7, дополнительно содержащий этап, на котором передают указанный поток битов на устройство декодирования.
9. Способ обработки изображений по п. 8, дополнительно содержащий этап, на котором сохраняют элемент синтаксиса в наборе параметров последовательности потока битов.
10. Способ обработки изображений по п. 9, в котором
элемент синтаксиса представляет собой синтаксис, относящийся к максимальному количеству подуровней.
11. Способ обработки изображений по п. 7, в котором
заданное значение равно 0.
12. Способ обработки изображения, содержащий этапы, на которых:
определяют, выполняется ли обработка кодирования данных изображения на основе профиля для кодирования неподвижного изображения;
кодируют данные изображения с использованием элемента синтаксиса, относящегося к максимальному количеству подуровней, имеющего заданное значение, для генерирования потока данных, включающего в себя элемент синтаксиса, для передачи, при определении того, что обработка кодирования выполняется на основе профиля для кодирования неподвижного изображения, при этом
указанное значение элемента синтаксиса установлено в заданное значение для указания, что профиль потока битов является профилем для кодирования неподвижного изображения, а также того, что поток битов содержит данные неподвижного изображения и не содержит данных движущегося изображения.
Колосоуборка | 1923 |
|
SU2009A1 |
статья Wei Dai et al | |||
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Печь-кухня, могущая работать, как самостоятельно, так и в комбинации с разного рода нагревательными приборами | 1921 |
|
SU10A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Способ и приспособление для нагревания хлебопекарных камер | 1923 |
|
SU2003A1 |
УСТРОЙСТВО КОДИРОВАНИЯ, СПОСОБ КОДИРОВАНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ, ПРОГРАММА, НОСИТЕЛЬ ЗАПИСИ ПРОГРАММЫ, НОСИТЕЛЬ ЗАПИСИ ДАННЫХ, СТРУКТУРА ДАННЫХ И УСТРОЙСТВО ВОСПРОИЗВЕДЕНИЯ | 2005 |
|
RU2335857C2 |
Авторы
Даты
2018-08-03—Публикация
2013-11-21—Подача