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

Область техники, к которой относится изобретение
Настоящее раскрываемое изобретение относится к устройствам и способам кодирования изображений и устройствам и способам декодирования изображений. Более конкретно, настоящее раскрываемое изобретение относится к устройствам и способам кодирования изображений и устройствам и способам декодирования изображений, для повышения эффективности кодирования при Внутрикадровом блоковом копировании (IntraBC).
Уровень техники
В последние годы, получили распространение аппараты, которые осуществляют сжатие данных изображения, выполняя способ кодирования для сжатия видеоинформации посредством ортогонального преобразования, такого как дискретное косинусное преобразование, и компенсации движения с использованием избыточности, характерной для видеоинформации, для того, чтобы обрабатывать видеоинформацию как цифровую информацию и достигать при этом высокоэффективных передачи и накапливания информации. Этот способ кодирования может представлять собой Moving Picture Experts Group (MPEG), H.264, MPEG-4 Part10 (Advanced Video Coding) (стандарт, разработанный Экспертной группой по вопросам движущегося изображения, (группой MPEG), H.264, MPEG-4 часть 10 (Усовершенствованное кодирование видеоданных, которое в дальнейшем будет упоминаться как AVC-кодирование), или тому подобное.
В настоящее время, для достижения более высокой эффективности кодирования, чем эффективность стандарта H.264/AVC, разрабатывается, в качестве стандарта JCTVC (стандарта Объединенной Команды Сотрудничества - Кодирование видеоданных) способ кодирования, именуемый Высокоэффективным кодированием видеоданных (HEVC-кодированием), который является совместным стандартом ITU-T (сектора телекоммуникаций Международного союза по телекоммуникациям) и ISO/IEC (Международной организации по стандартизации/Международной электротехнической комиссии).
Кроме того, в HEVC-кодировании рассматриваются расширения диапазона (расширения диапазона при HEVC-кодировании) для того, чтобы поддерживать высокопроизводительные форматы, такие как изображения в форматах сигнала цветности как то: 4 : 2 : 2 и 4 : 4 : 4, и профили содержимого экранного изображения (смотри, например, Непатентный документ 1).
Между тем, IntraBlockCopy (IntraBC - Внутрикадровое блоковое копирование) представляет собой инструмент кодирования для выполнения компенсации движения на экранном изображении. Внутрикадровое блоковое копирование известно как инструмент, который содействует повышению эффективности при кодировании искусственного изображения, такого как компьютерное экранное изображение или изображение компьютерной графики.
Однако Внутрикадровое блоковое копирование не используется как технология для вышеописанных расширений диапазона HEVC-кодирования, и рассматривается как стандартизированная технология для расширений кодирования содержимого экранного изображения (SCC-кодирования).
Список упоминаемых документов
Непатентный документ
Непатентный документ 1: David Flynn, Joel Sole, and Teruhiko Suzuki, “High Efficiency Video Coding (HEVC), Range Extension text specification: Draft 4” (Дэвид Флинн, Джоэл Соул и Терухико Судзуки, “Высокоэффективное кодирование видеоданных (HEVC- кодирование), спецификации текста Расширения диапазона: Проект 4”, JCTVC-N1005_v1, 2013.8.8 (документ Объединенной Команды Сотрудничества - Кодирование видеоданных).
Раскрытие сущности изобретения
Проблемы, решаемые этим изобретением
В данном случае, малые времена задержки являются ключевыми в приложениях SCC-кодирования. Следовательно, в схеме HEVC-кодирования, необходимо использовать разделение на "срезы".
Однако, в случаях, при которых экранное изображение разделено на "срезы", повышение эффективности кодирования при Внутрикадровом блоковом копировании становится заметно меньшим. Это объясняется тем, что Внутрикадровое блоковое копирование не может ссылаться ни на какие данные кроме текущего "среза".
Настоящее раскрываемое изобретение сделано ввиду этих обстоятельств, и должно повысить эффективность кодирования при Внутрикадровом блоковом копировании (IntraBC).
Решение проблем
Устройство кодирования изображений, соответствующее одному аспекту настоящего раскрываемого изобретения, включает в себя: задающий блок для установки управляющей информации для управления предсказанием движения внутри экранного изображения, осуществляемым между "срезами"; кодирующий блок для кодирования изображения для генерирования битового потока в соответствии с управляющей информацией, заданной задающим блоком; и передающий блок для передачи управляющей информации, установленной задающим блоком, и битовый поток, сгенерированный кодирующим блоком.
Задающий блок может задавать, в качестве этой управляющей информации, признак разрешения ссылки, причем признак разрешения ссылки указывает разрешение на ссылку на результат декодирования текущего "среза" и "среза" перед текущим "срезом" в порядке растрового сканирования.
Задающий блок может задавать этот признак разрешения ссылки в наборе параметров изображения (PPS-наборе).
Задающий блок может задавать, в качестве этой управляющей информации, некоторый параметр, причем параметр указывает количество предшествующих "срезов", имеющих результаты декодирования, на которые можно ссылаться.
Задающий блок может задавать, в качестве этой управляющей информации, признак "включения/выключения", причем признак "включения/выключения" указывает на то, можно ли выполнять предсказание движения внутри экранного изображения, осуществляемое между "срезами".
Задающий блок может задавать этот признак "включения/выключения" в наборе параметров последовательности (SPS-наборе) или в наборе параметров видеоданных (VPS-наборе).
В случае, когда "включена" волновая параллельная обработка данных (WPP-обработка), задающий блок может ограничить область ссылки и задать признак разрешения ссылки.
В случае, когда "включено" разделение на элементы мозаики, задающий блок может задать признак разрешения ссылки.
В случае, когда "включен" SEI с набором элементов мозаики с временным ограничением движения (MCTS-SEI), задающий блок может установить этот признак разрешения ссылки в состояние "отключено".
Способ кодирования изображения, соответствующий одному аспекту настоящего раскрываемого изобретения, осуществляется устройством кодирования изображений, и включает в себя этапы, на которых: задают управляющую информацию для управления предсказанием движения внутри экранного изображения, осуществляемым между "срезами"; кодируют изображение для того, чтобы сгенерировать битовый поток в соответствии с этой заданной управляющей информацией; и передают эту заданную управляющую информацию и этот сгенерированный битовый поток.
Устройство декодирования изображений, соответствующее другому аспекту настоящего раскрываемого изобретения, включает в себя: принимающий блок для приема битового потока, сгенерированного посредством кодирования изображения; извлекающий блок для извлечения, из битового потока, принятого принимающим блоком, управляющей информации, причем управляющая информация предназначена для управления предсказанием движения внутри экранного изображения, осуществляемым между "срезами"; и декодирующий блок для декодирования битового потока, принятого принимающим блоком, для генерирования изображения, с использованием управляющей информации, извлеченной извлекающим блоком.
Извлекающий блок может извлекать, в качестве этой управляющей информации, признак разрешения ссылки, причем признак разрешения ссылки указывает разрешение на ссылку на результат декодирования текущего "среза" и "среза" перед текущим "срезом" в порядке растрового сканирования.
Извлекающий блок может извлекать этот признак разрешения ссылки из набора параметров изображения (PPS-набора).
Извлекающий блок может извлекать, в качестве этой управляющей информации, некоторый параметр, причем параметр указывает количество предшествующих "срезов", имеющих результаты декодирования, на которые можно ссылаться.
Извлекающий блок может извлекать, в качестве этой управляющей информации, признак "включения/выключения", причем признак "включения/выключения" указывает на то, можно ли выполнять предсказание движения внутри экранного изображения, осуществляемое между "срезами".
Извлекающий блок может извлекать этот признак "включения/выключения" из набора параметров последовательности (SPS-набора) или из набора параметров видеоданных (VPS-набора).
В случае, когда "включена" волновая параллельная обработка данных (WPP-обработка), извлекающий блок может ограничить область ссылки и извлечь признак разрешения ссылки.
В случае, когда "включено" разделение на элементы мозаики, извлекающий блок может извлечь признак разрешения ссылки.
В случае, когда "включен" SEI с набором элементов мозаики с временным ограничением движения (MCTS-SEI), извлекающий блок может извлекать этот признак разрешения ссылки, установленный в состояние "отключено".
Способ декодирования изображения, соответствующий другому аспекту настоящего раскрываемого изобретения, осуществляется устройством декодирования изображений, и включает в себя этапы, на которых: принимают битовый поток, сгенерированный посредством кодирования изображения; извлекают, из этого принятого битового потока, управляющую информацию, причем управляющая информация предназначена для управления предсказанием движения внутри экранного изображения, осуществляемым между "срезами"; и декодируют этот принятый битовый поток для того, чтобы сгенерировать изображение, с использованием этой извлеченной управляющей информации.
В одном аспекте настоящего раскрываемого изобретения, задается управляющая информация для управления предсказанием движения внутри экранного изображения, осуществляемым между "срезами", и изображение кодируется в соответствии с этой заданной управляющей информацией для того, чтобы сгенерировать битовый поток. Затем осуществляется передача этой заданной управляющая информации и этого сгенерированного битового потока.
В другом аспекте настоящего раскрываемого изобретения, принимается битовый поток, сгенерированный посредством кодирования изображения, и из этого принятого битового потока извлекается управляющая информация для управления предсказанием движения внутри экранного изображения, осуществляемым между "срезами". Этот принятый битовый поток затем декодируется с использованием этой извлеченной управляющей информации, и генерируется изображение.
Следует отметить, что вышеописанное устройство кодирования изображений и устройство декодирования изображений могут быть независимыми устройствами обработки изображений или могут быть внутренними блоками, образующими устройство кодирования изображений и устройство декодирования изображений.
Результаты изобретения
В соответствии с одним аспектом настоящего раскрываемого изобретения можно кодировать изображения. В частности, может быть повышена эффективность кодирования при Внутрикадровом блоковом копировании (IntraBC).
В соответствии с другим аспектом настоящего раскрываемого изобретения можно декодировать изображения. В частности, может быть повышена эффективность кодирования при Внутрикадровом блоковом копировании (IntraBC).
Следует отметить, что результаты настоящей технологии не ограничены описанными здесь результатами и могут включать в себя любые из результатов, описываемых в настоящем раскрываемом изобретении.
Краткое описание чертежей
Фиг. 1 представляет собой схему для объяснения приводимых в качестве примера структур элементов кодирования.
Фиг. 2 представляет собой таблицу, в которой показан приводимый в качестве примера синтаксис Набора параметров последовательности (SPS-набора) и Набора параметров изображения (PPS-набора).
Фиг. 3 представляет собой таблицу, в которой показан пример семантики в соответствии с настоящей технологией.
Фиг. 4 представляет собой таблицу, в которой показан приводимый в качестве примера синтаксис Набора параметров видеоданных (VPS-набора).
Фиг. 5 представляет собой схему, на которой показан пример, где экранное изображение разделено на четыре "среза" в соответствии с настоящей технологией.
Фиг. 6 представляет собой схему, на которой показан случай, где параметр intraBC_ref_prev_slice_num (количество_предшествующих_срезов_ссылки_для_Внутрикадрового-блокового-копирования) равен 1.
Фиг. 7 представляет собой схему для объяснения сочетания настоящей технологии и волновой параллельной обработки данных (WPP-обработки).
Фиг. 8 представляет собой схему для объяснения сочетания настоящей технологии и волновой параллельной обработки данных (WPP-обработки).
Фиг. 9 представляет собой схему для объяснения сочетания настоящей технологии и разделения на элементы мозаики.
Фиг. 10 представляет собой таблицу для объяснения полезных результатов.
Фиг. 11 представляет схему для объяснения сочетания настоящей технологии и MCTS-SEI.
Фиг. 12 представляет собой таблицу, в которой показан пример ПРИМЕЧАНИЯ, которое должно быть добавлено в семантику сообщения MCTS-SEI.
Фиг. 13 представляет собой структурную схему, на которой показана приводимая в качестве примера конфигурация некоторого первого варианта воплощения кодирующего устройства, в котором применена настоящая технология.
Фиг. 14 представляет собой структурную схему, на которой показана приводимая в качестве примера конфигурация кодирующего блока, показанного на фиг. 13.
Фиг. 15 представляет собой блок-схему алгоритма для объяснения процесса генерации потока данных.
Фиг. 16 представляет собой блок-схему алгоритма для объяснения процесса задания наборов параметров.
Фиг. 17 представляет собой блок-схему алгоритма для объяснения процесса кодирования, показанного на фиг. 15.
Фиг. 18 представляет собой блок-схему алгоритма для объяснения процесса кодирования, показанного на фиг. 15.
Фиг. 19 представляет собой блок-схему алгоритма для конкретизации процесса внутрикадрового предсказания, показанного на фиг. 17.
Фиг. 20 представляет собой структурную схему, на которой показана приводимая в качестве примера конфигурация некоторого первого варианта воплощения декодирующего устройства, в котором применено настоящее раскрываемое изобретение.
Фиг. 21 представляет собой структурную схему, на которой показана приводимая в качестве примера конфигурация декодирующего блока, показанного на фиг. 20.
Фиг. 22 представляет собой блок-схему алгоритма для объяснения процесса генерации изображения, который подлежит выполнению декодирующим устройством, показанным на фиг. 20.
Фиг. 23 представляет собой блок-схему алгоритма для объяснения процесса извлечения наборов параметров.
Фиг. 24 представляет собой блок-схему алгоритма для подробного объяснения процесса декодирования.
Фиг. 25 представляет собой блок-схему алгоритма для подробного объяснения процесса декодирования "среза".
Фиг. 26 представляет собой структурную схему, на которой показана приводимая в качестве примера конфигурация аппаратного обеспечения компьютера.
Фиг. 27 представляет собой схему, на которой показан пример способа кодирования изображения с множественными видами.
Фиг. 28 представляет собой схему, на которой показана приводимая в качестве примера конфигурация устройства кодирования изображений с множественными видами, в котором применено настоящее раскрываемое изобретение.
Фиг. 29 представляет собой схему, на которой показана приводимая в качестве примера конфигурация устройства декодирования изображений с множественными видами, в котором применено настоящее раскрываемое изобретение.
Фиг. 30 представляет собой схему, на которой показан пример способа кодирования иерархического изображения.
Фиг. 31 представляет собой схему для объяснения примера пространственного масштабируемого кодирования.
Фиг. 32 представляет собой схему для объяснения примера временнóго масштабируемого кодирования.
Фиг. 33 представляет собой схему для объяснения примера кодирования с масштабируемым отношением "сигнал-шум".
Фиг. 34 представляет собой схему, на которой показана приводимая в качестве примера конфигурация устройства кодирования иерархических изображений, в котором применено настоящее раскрываемое изобретение.
Фиг. 35 представляет собой схему, на которой показана приводимая в качестве примера конфигурация устройства декодирования иерархических изображений, в котором применено настоящее раскрываемое изобретение.
Фиг. 36 представляет собой схему, на которой схематично показана приводимая в качестве примера конфигурация телевизионного аппарата, в котором применено настоящее раскрываемое изобретение.
Фиг. 37 представляет собой схему, на которой схематично показана приводимая в качестве примера конфигурация портативного телефонного аппарата, в котором применено настоящее раскрываемое изобретение.
Фиг. 38 представляет собой схему, на которой схематично показана приводимая в качестве примера конфигурация записывающего/воспроизводящего аппарата, в котором применено настоящее раскрываемое изобретение.
Фиг. 39 представляет собой схему, на которой схематично показана приводимая в качестве примера конфигурация аппарата формирования изображений, в котором применено настоящее раскрываемое изобретение.
Фиг. 40 представляет собой структурную схему, на которой показан пример использования масштабируемого кодирования.
Фиг. 41 представляет собой структурную схему, на которой показан другой пример использования масштабируемого кодирования.
Фиг. 42 представляет собой структурную схему, на которой показан еще один другой пример использования масштабируемого кодирования.
На фиг. 43 схематично показана приводимая в качестве примера конфигурация видеокомплекта, в котором применено настоящее раскрываемое изобретение.
На фиг. 44 схематично показана приводимая в качестве примера конфигурация видеопроцессора, в котором применено настоящее раскрываемое изобретение.
На фиг. 45 схематично показана другая приводимая в качестве примера конфигурация видеопроцессора, в котором применено настоящее раскрываемое изобретение.
Осуществление изобретения
Нижеследующее представляет собой описание способов осуществления настоящего раскрываемого изобретения (в дальнейшем именуемых как варианты воплощения изобретения). Следует отметить, что объяснение будет дано в нижеследующем порядке.
0. Описание в общих чертах
1. Первый вариант воплощения изобретения (кодирующее устройство и декодирующее устройство)
2. Второй Вариант воплощения изобретения (компьютер)
3. Третий вариант воплощения изобретения (Устройство кодирования многопроекционных изображений и устройство декодирования многопроекционных изображений)
4. Четвертый Вариант воплощения (Устройство кодирования иерархического изображения и устройство декодирования иерархического изображения)
5. Пятый вариант воплощения изобретения (Телевизионный аппарат)
6. Шестой вариант воплощения изобретения (портативный телефонный аппарат)
7. Седьмой вариант воплощения изобретения (Аппарат записи/воспроизведения)
8. Восьмой вариант воплощения изобретения (Аппарат формирования изображения)
9. Приводимые в качестве примера варианты применения масштабируемого кодирования
10. Другие примеры вариантов воплощения изобретения
Описание в общих чертах
Способ кодирования
Настоящая технология описана ниже в связи с приводимым в качестве примера случаем, при котором Высокоэффективное кодирование видеоданных (HEVC-кодирование) применяется в кодировании и декодировании изображений.
Объяснение элемента кодирования
Фиг. 1 представляет собой схему для объяснения элементов кодирования (CU-элементов), которые представляют собой элементы кодирования при HEVC-кодировании.
При HEVC-кодировании, обработке подлежат изображения с большими кадрами изображения, такие как изображения 4000 х 2000 пикселей сверхвысокой четкости (UHD), и, следовательно, задание постоянного размера элемента кодирования как 16 х 16 пикселей не является оптимальным. Ввиду этого, в качестве элементов кодирования при HEVC-кодировании определены CU-элементы.
CU-элемент (Элемент кодирования) играет роль, аналогичную роли макроблока при AVC-кодировании (Усовершенствованном кодировании видеоданных). В частности, CU-элемент разделяется на PU-элементы (Элементы предсказания) или разделяется на TU-элементы (Элементы преобразования).
Следует отметить, что размер Элемента кодирования равен квадрату, представленному степенью двух пикселей, которые изменяются согласно последовательностям. В частности, Элемент кодирования задается посредством деления некоторого LCU-элемента (Наибольшего элемента кодирования), как Элемента кодирования, который имеет наибольший размер, пополам в горизонтальном направлении и вертикальном направлении соответствующее количество раз, так, чтобы Элемент кодирования не стал меньше некоторого Наименьшего элемента кодирования (SCU-элемента), как Элемента кодирования, который имеет наименьший размер. Таким образом, размер Элемента кодирования представляет собой размер на некотором иерархическом уровне, когда иерархическое деление Наибольшего элемента кодирования осуществляется до тех пор, пока не будут получены Наименьшие элементы кодирования так что размер на верхнем иерархическом уровне составляет 1/4 размера Элемента кодирования на один уровень ниже чем этот верхний иерархический уровень.
Например, на фиг. 1, размер Наибольшего элемента кодирования составляет 128, а размер Наименьшего элемента кодирования составляет 8. Соответственно, иерархическая глубина (Глубина) Наибольшего элемента кодирования составляет 0 до 4, а количество уровней иерархической глубины составляет 5. Таким образом, количество разделений, соответствующих Элементам кодирования, представляет собой количество: от 0 до 4.
Следует отметить, что информация, указывающая размеры Наибольшего элемента кодирования и Наименьшего элемента кодирования, входит в состав SPS (Набора параметров последовательности). Кроме того, количество разделений, соответствующих Элементам кодирования определяется признаком “split_flag” ("признак_разделения"), указывающим на каждом иерархическом уровне то, следует ли Элемент кодирования разделять дальше. Элементы кодирования конкретно описываются в Непатентном документе 1.
Размер TU-элемента (Элемента преобразования) может быть указан посредством признака “split_transform_flag”, как в случае “split_flag” для Элементов кодирования. Максимальные количества разделение Элемента преобразования в межкадровом предсказании и внутрикадровом предсказании указываются в SPS (Набора параметров последовательности) как, соответственно, “max_transform_hierarchy_depth_inter” и “max_transform_hierarchy_depth_intra”.
Кроме того, в этой спецификации, Элемент дерева кодирования (CTU-элемент) представляет собой элемент, который включает в себя блок дерева кодирования (CTB-блок) Наибольшего элемента кодирования и параметры для обработки на базисе (уровне) Наибольшего элемента кодирования. Кроме того, Элементы кодирования, составляющие Элементы дерева кодирования, включают в себя Блоки кодирования (CB-блоки) и параметры для обработки на базисе (уровне) Элемента кодирования.
Выбор режима
Между тем, для достижения более высокой эффективности кодирования при способах кодирования AVC-кодирование и HEVC-кодирование, критически важно выбрать надлежащий режим предсказания.
В качестве примеров таких способов выбора могут быть использованы способы, реализованные в справочном программном обеспечении стандарта H.264/MPEG-4 AVC, именуемом Совместной Моделью (JM) (доступной по адресу: http:// iphome.hhi.de/suehring/tml/index.htm).
В JM-модели могут быть выбраны два способа определения режима, описываемые ниже: Режим высокой сложности и Режим низкой сложности. И в том, и в другом из этих способов, вычисляется значение функции "стоимости" для каждого Режима режимов предсказания, и в качестве оптимального режима для блока или макроблока выбирается режим предсказания, который минимизирует значение функции "стоимости".
Функция "стоимости" в Режиме высокой сложности выражается нижеследующим выражением (1).
Cost(Mode Ω) = D + λ * R . . . (1)
Здесь, Ω представляет универсальное множество режимов - кандидатов для кодирования блока или макроблока, и D представляет энергию разности между декодированным изображением и входным изображением, когда кодирование выполнено в текущем режиме предсказания. λ представляет неопределенный множитель Лагранжа, предусмотренный как функция параметра квантования. R представляет полную скорость передачи битов в случае, при котором кодирование выполняется в текущем режиме, включающей в себя ортогональный коэффициент преобразования.
Таким образом, для выполнения кодирования в Режиме высокой сложности необходимо выполнить предварительный процесс кодирования во всех режимах-кандидатах для того, чтобы вычислить вышеупомянутые параметры D и R, и следовательно требуется большее количество вычислений.
Функция "стоимости" в Режиме низкой сложности выражается нижеследующим выражением (2).
Cost(Mode Ω) = D + QP2Quant(QP) * HeaderBit . . . (2)
Здесь, D отличается от этого параметра в Режиме высокой сложности, и представляет энергию разности между предсказанным изображением и входным изображением. QP2Quant (QP) представляет функцию параметра QP квантования, и HeaderBit представляет скорость передачи битов, относящуюся к информации, которая исключает коэффициент ортогонального преобразования и принадлежит Заголовку, такой как векторы движения и режим.
Таким образом, в Режиме низкой сложности, процесс предсказания должен быть выполнен для каждого из режимов-кандидатов, но декодированное изображение не требуется. Следовательно, нет необходимости выполнять процесс кодирования. Соответственно, количество вычислений меньше, чем количество вычислений в Режиме высокой сложности.
Внутрикадровое блоковое копирование
IntraBlockCopy (Внутрикадровое блоковое копирование-IntraBC) представляет собой инструмент кодирования для выполнения компенсации движения на экранном изображении. Внутрикадровое блоковое копирование известно как инструмент, который содействует повышению эффективности при кодировании искусственного изображения, такого как компьютерное экранное изображение или изображение компьютерной графики.
Однако, Внутрикадровое блоковое копирование не используется как технология для вышеописанных расширений диапазона HEVC-кодирования, и рассматривается как стандартизированная технология для расширений кодирования содержимого экранного изображения (SCC-кодирования).
В случае Внутрикадрового блокового копирования, передается только некоторое векторное значение. Поэтому, когда экранное изображение разделено на "срезы", взаимосвязь между текущим блоком и другими "срезами" не прояснена. С другой стороны, в случае временного предсказания взаимосвязь между текущим блоком и опорным кадром делается очевидной за счет сочетания списка ссылок и индекса, так же как и некоторого векторного значения.
Накладывается то ограничение, что это векторное значение становится значением, основанным на данных в текущем "срезе". Таким образом, ссылка на любой "срез", отличный от текущего "среза", запрещена без исключения.
По вышеупомянутой причине, в случае, при котором экранное изображение разделяется на "срезы" для того, чтобы достигнуть передачи (данных) с малым времени задержки, эффекты от Внутрикадрового блокового копирования уменьшаются, а эффективность кодирования становится хуже.
Ввиду вышеизложенного, настоящая технология предлагает передачу признака intra_BC_ref_prev_slice_flag, который представляет собой признак разрешения ссылки для прояснения того факта, что Внутрикадровое блоковое копирование ссылается на результат декодирования предшествующего "среза". В случае, когда значение intra_BC_ref_prev_slice_flag составляет 0 (значение по умолчанию), Внутрикадровое блоковое копирование может ссылаться только на текущий "срез". В случае, когда значение intra_BC_ref_prev_slice_flag составляет 1, Внутрикадровое блоковое копирование может ссылаться не только на текущий "срез", но также и на блок в предшествующем "срезе". Следует отметить то, что этот признак указывает на взаимосвязь между "срезами", и, следовательно, надлежащим образом задается в наборе параметров изображения (PPS-наборе).
Кроме того, в Ответвлении 1 настоящей технологии, то, на сколько предшествующих "срезов" можно сослаться в случае, когда intraBC_ref_prev_slice_flag представляет собой "1", проясняется посредством параметра, именуемого intraBC_ref_prev_slice_num, например, в наборе параметров изображения.
Например, в случае, когда intraBC_ref_prev_slice_num представляет собой 5, и номер текущего "среза" представляет собой 10, можно ссылаться на изображения с номерами "среза": с 5 по 10. Например, если номер текущего "среза" меньше чем 5, то можно ссылаться на изображения "срезов": от среза 0 по текущий "срез". Кроме того, для сохранения скорости передачи битов, “intraBC_ref_prev_slice_num = 0” может указывать все предыдущие "срезы".
Кроме того, в Ответвлении 2 настоящей технологии, в набор параметров последовательности (SPS-набор) добавлен sps_crossslice_intraBC_enable_flag, который представляет собой признак "включения/выключения" для того, чтобы управлять включением и выключением этого инструментального средства для ссылки Внутрикадрового блокового копирования на результат декодирования предшествующего "среза". Синтаксический анализ в отношении признака intraBC_ref_prev_slice_flag выполняется только в том случае, когда признак sps_crossslice_intraBC_enable_flag представляет собой "истину". Следует отметить, что этот признак для управления включением и выключением этого инструментального средства может не быть добавлен в Набор параметров последовательности, но может быть добавлен в Набор параметров видеоданных (VPS-набор).
Приводимый в качестве примера синтаксис Набора параметров последовательности и Набора параметров изображения
Фиг. 2 представляет собой таблицу, в которой показан приводимый в качестве примера синтаксис Набора параметров последовательности (SPS-набора) и Набора параметров изображения (PPS-набора). В примерах на фиг. 2, синтаксис Набора параметров изображения показан ниже синтаксиса Набора параметров последовательности.
В Набор параметров последовательности записан признак intra_block_copy_enabled_flag, который представляет собой признак, указывающий на то, что подлежит выполнению Внутрикадровое блоковое копирование, и под признаком intra_block_copy_enabled_flag добавлен sps_crossslice_intraBC_enable_flag, который представляет собой признак включения/выключения, описанный выше как Ответвление 2 настоящей технологии. Только в том случае, когда признак sps_crossslice_intraBC_enable_flag представляет собой "истину", выполняется синтаксический анализ по sps_crossslice_intraBC_enable_flag.
В Набор параметров изображения, добавлен признак intra_BC_ref_prev_slice_flag, который представляет собой признак разрешения ссылки, описанный выше как настоящая технология. Синтаксический анализ в отношении признака intraBC_ref_prev_slice_flag выполняется только в том случае, когда признак sps_crossslice_intraBC_enable_flag, который представляет собой признак включения/выключения, добавленный в Набор параметров последовательности, является "истиной". В дополнение к этому, под признаком intra_BC_ref_prev_slice_flag, добавлен параметр intraBC_ref_prev_slice_num, который представляет собой параметр, описанный выше как Ответвление 1 настоящей технологии. Синтаксический анализ в отношении параметра intraBC_ref_prev_slice_num выполняется только в том случае, когда признак intra_BC_ref_prev_slice_flag представляет собой "истину".
Следует отметить, что информация для управления Внутрикадровым блоковым копированием (предсказанием движения внутри экранного изображения, осуществляемым между "срезами"), такая как признаки и параметр, описанные выше, будет в дальнейшем именоваться вся вместе как информация управления Внутрикадровым блоковым копированием. Кроме того, режим внутрикадрового предсказания с использованием информации управления Внутрикадровым блоковым копированием в дальнейшем будет именоваться как режим Внутрикадрового блокового копирования.
Пример семантики
Фиг. 3 представляет собой таблицу, в которой показан пример семантики в соответствии с настоящей технологией. В примере, показанном на фиг. 3, признак sps_crossslice_intraBC_enable_flag, intraBC_ref_prev_slice_flag и intraBC_ref_prev_slice_num определены нижеследующим образом.
Признак sps_crossslice_intraBC_enable_flag, равный 1, указывает на то, что intraBC_rev_prev_slice_flag может иметь значение, равное 1, в CVS.
Признак intraBC_ref_prev_slice_flag, равный 1, указывает на то, что элемент предсказания, у которого режим кодирования представляет собой Внутрикадровое блоковое копирование (=predModeIntraBc равен 1) в текущем "срезе", может ссылаться на данные ранее декодированного "среза", которые предшествуют текущему "срезу" в порядке декодирования на текущем изображении. Признак intraBC_ref_prev_slice_flag, равный 0, указывает на то, что элемент предсказания, у которого режим кодирования представляет собой Внутрикадровое блоковое копирование, не должен ссылаться на данные ранее декодированного "среза". В случае, когда этот признак не присутствует, значение признака intraBC_ref_prev_slice_flag подразумевается равным 0.
Параметр intraBC_ref_prev_slice_num указывает один или более сегментов - "срезов", на которые может ссылаться элемент предсказания, у которого режим кодирования представляет собой Внутрикадровое блоковое копирование в текущем "срезе". Это множество сегмента "среза" получается следующим образом.
Пусть C представляет собой очередность "среза" на текущем изображении (например, 0 для 1-ого "среза"). И A вычисляется следующим образом.
A = (C-intraBC_ref_prev_slice_num) < 0. 0 : (C-intraBC_ref_prev_slice_num)
В таком случае, целевым сегментом - "срезом", указываемым этим синтаксисом, является X-й сегмент - "срез", где X находится в диапазоне от А до C.
Пример синтаксиса VPS
Фиг. 4 представляет собой таблицу, в которой показан приводимый в качестве примера синтаксис Набора параметров видеоданных (VPS-набора). В Наборе параметров видеоданных, показанном на фиг. 4, признак sps_crossslice_intraBC_enable_flag в наборе параметров последовательности (SPS-наборе), показанном на фиг. 2, записывается как vps_crossslice_intraBC_enable_flag.
Детализированное описание
Фиг. 5 представляет собой схему, на которой показан пример, где экранное изображение разделено на четыре "среза" ("Срезы": с # 0 по # 3) в соответствии с настоящей технологией.
В случае, при котором ссылка на другой "срез" запрещена, область, на которую можно ссылаться из текущего Элемента дерева кодирования (CTU-элемента) в "Срезе" # 2, представляет собой только декодированный участок в "Срезе" # 2, и, следовательно, нельзя, например, ссылаться на какой бы то ни было блок в "Срезе" # 1.
С другой стороны, в случае настоящей технологии, в состав области, на которую можно ссылаться входят другие декодированные "срезы" ("Срез" # 0 и "Срез" # 1), и, соответственно, из текущего Элемента дерева кодирования (CTU-элемента) в "Срезе" # 2 можно, например, ссылаться на блок в "Срезе" # 1, как это показано на фиг. 5.
Фиг. 6 представляет собой схему, на которой показан случай, где параметр intraBC_ref_prev_slice_num равен 1, в примере, показанном на фиг. 5.
Поскольку параметр intraBC_ref_prev_slice_num представляет собой "1", то из текущего Элемента дерева кодирования (CTU-элемента) в "Срезе" # 2 можно ссылаться на "Срез" # 1, который находится на один "срез" раньше текущего "среза", как это показано на фиг. 6. Ссылаться на "Срез" # 0 нельзя. Таким образом, в приводимом в качестве примера случае, показанном на фиг. 6, из текущего Элемента дерева кодирования в "Срезе" # 2 можно ссылаться на любой блок в "Срезе" # 1.
Сочетание с волновой параллельной обработкой данных
Фиг. 7 и 8 представляют собой схемы для объяснения сочетания настоящей технологии и волновой параллельной обработки данных (WPP-обработки).
Волновая параллельная обработка данных (WPP-обработка) представляет собой обработку данных, которая выполняется в случае, когда признак entropy_coding_sync_enabled_flag в Наборе параметров изображения равен 1. Существует два способа для того, чтобы выполнить волновую параллельную обработку данных. Первый способ представляет собой способ кодирования множественных "срезов", при этом один "срез" является одним столбцом Элемента дерева кодирования (CTU-элемента). Второй способ представляет собой способ кодирования, использующий entry_poit_offset (смещение_точки_входа), где один "срез" представляет собой одно изображение. Поскольку вышеописанная настоящая технология может быть применена в случае второго способа, первый способ описывается ниже.
Когда функция волновой параллельной обработки данных включена, один "срез" представляет собой один столбец Элементов дерева кодирования (CTU-элемента). Следовательно, если ссылка на другой "срез" запрещена, то область, на которую можно ссылаться из текущего Элемента дерева кодирования, представляет собой только смежный Элемент дерева кодирования, расположенный с левой стороны, и ссылаться можно только на смежный Элемент дерева кодирования, расположенный с левой стороны.
С другой стороны, в соответствии с настоящей технологией, в случае, когда функция волновой параллельной обработки данных включена, область ссылки ограничена не всем "Срезом" # 0, но Элементами дерева кодирования вплоть до Элемента дерева кодирования, расположенного с верхней правой стороны от текущего Элемента дерева кодирования. Это объясняется тем, что вследствие замысла Волновой параллельной обработки данных, между столбцами Элементов дерева кодирования имеется временнóе запаздывание декодирования, эквивалентное 2 Элементам дерева кодирования.
Таким образом, в случае, когда текущим Элементом дерева кодирования является крайний левый Элемент дерева кодирования, имеющийся в "Срезе" # 1, как показано на фиг. 7, область, на которую можно ссылаться, образуют Элемент дерева кодирования, который расположен в "Срезе" # 0 и непосредственно над текущим Элементом дерева кодирования, и Элемент дерева кодирования, который расположен в "Срезе" # 0 и с верхней правой стороны от текущего Элемента дерева кодирования.
Кроме того, в случае, когда текущим Элементом дерева кодирования является второй слева Элемент дерева кодирования, имеющийся в "Срезе" # 1, область, на которую можно ссылаться, образуют Элемент дерева кодирования, который расположен в "Срезе" # 0 и с верхней левой стороны от текущего Элемента дерева кодирования, Элемент дерева кодирования, который расположен в "Срезе" # 0 и непосредственно над текущим Элементом дерева кодирования, Элемент дерева кодирования, который расположен в "Срезе" # 0 и с верхней правой стороны от текущего Элемента дерева кодирования, и смежный Элемент дерева кодирования, расположенный с левой стороны от текущего Элемента дерева кодирования, в "Срезе" # 1, как это показано на фиг. 8.
Таким образом, настоящая технология и Волновая параллельная обработка данных могут сочетаться.
Сочетание с разделением на элементы мозаики
Фиг. 9 представляет собой схему для объяснения сочетания настоящей технологии и разделения на элементы мозаики.
Разделение на элементы мозаики (неперекрывающиеся между собой четырехугольные участки изображения) представляет собой обработку, подлежащую выполнению в случае, когда tiles_enabled_frag в Наборе параметров изображения равен 1. Элементы мозаики определены как инструментальные средства для параллельной обработки данных при HEVC-кодировании (Высокоэффективном кодировании видеоданных). Клетка представляет собой элемент разделения изображения. Размер строки и размер столбца каждой элементы мозаики указываются на базе Наибольшего элемента кодирования (LCU-элемента) в Наборе параметров последовательности (SPS-наборе) или Наборе параметров изображения (PPS-наборе) в информации о сжатии изображения.
Наибольшие элементы кодирования, входящие в состав каждой элементы мозаики, обрабатываются в порядке растрового сканирования, и элементы мозаики, входящие в состав каждого изображения, обрабатываются в порядке растрового сканирования. "Срез" может также включать в себя элементы мозаики, и граница "среза" может проходить в клетке.
В случае, при котором экранное изображение, например, вертикально разделено на два участка, или разделено клеточным образом на "Срез" # 0 и "Срез" # 1, если ссылка на различные "срезы" запрещена, то область, на которую можно ссылаться из текущего Элемента дерева кодирования, представляет собой только элементы мозаики в "Срез" # 1.
С другой стороны, в соответствии с настоящей технологией, признак intra_BC_ref_prev_slice_flag, как признак разрешения ссылки, устанавливается в "1", так, чтобы можно было ссылаться на декодированные разностные "срезы". Соответственно, в случае, при котором функция разделения на элементы мозаики включена, разрешается ссылка на "Срез" # 0, который включает в себя другие элементы мозаики и представляет собой "срез", отличный от текущего Элемента дерева кодирования (CTU-элемента) в "Срезе" # 1, как это показано на фиг. 9.
Полезные результаты
Фиг. 10 представляет собой таблицу для объяснения полезных результатов.
В случае, при котором ссылка на другой "срез" запрещена, может быть выполнено декодирование, независимое между "срезами". С другой стороны, в случае настоящей технологии, Внутрикадровое блоковое копирование не может быть выполнено до тех пор, пока указанный "срез" не будет полностью декодирован. Следовательно, декодирование, независимое между "срезами", невозможно.
В случае, при котором ссылка на другой "срез" запрещена, Внутрикадровое блоковое копирование не может ссылаться на предшествующие "срезы", и, следовательно, эффективность кодирования становится хуже. С другой стороны, в соответствии с настоящей технологией, Внутрикадровое блоковое копирование может ссылаться на предшествующие "срезы", и, таким образом, эффективность кодирования повышается.
Сочетание с MCTS-SEI
Фиг. 11 представляет схему для объяснения сочетания настоящей технологии и стандартного интерфейса ввода данных (SEI-интерфейса) с набором элементов мозаики с временным ограничением движения (интерфейса "MCTS-SEI").
Интерфейс "MCTS-SEI" представляет собой SEI (стандартный интерфейс ввода данных), используемый в проекте (JCTVC - Q1008_V2) SHVC. При использовании интерфейса "MCTS-SEI", из битового потока могут быть извлечены только данные в указанных элементах мозаики, так, чтобы эти указанные элементы мозаики могли декодироваться независимо. Следует отметить, что, без этого SEI-интерфейса невозможно независимо декодировать только некоторые из элементов мозаики на экранном изображении.
В примере, показанном на фиг. 11, изображение разделено на 10 х 6 элементов мозаики. Элементы мозаики mcts_id [0] в области, обозначенной жирной рамкой являются частью изображения, но только эти элементы мозаики могут быть извлечены и декодированы (такое декодирование в дальнейшем будет упоминаться как независимое декодирование).
Аналогичным образом, элементы мозаики mcts_id [1] в рамке, нарисованной пунктирной линией, могут также быть независимо декодированы. Интерфейс "MCTS-SEI" может указывать наборы элементов мозаики в составных областях, таких как mcts_id [0] и mcts_id [1], показанных на фиг. 11.
Следовательно, в "срезе" в наборе элементов мозаики, указанном интерфейсом "MCTS-SEI", признак intraBC_ref_prev_slice_flag должен быть установлен в "0".
Причина этого, заключается в том, что ссылка на элемент мозаики/"срез", отличные от текущего, запрещена.
Фиг. 12 представляет собой таблицу, в которой показан пример ПРИМЕЧАНИЯ, которое должно быть добавлено в семантику сообщения интерфейса "MCTS-SEI".
Для сочетания настоящей технологии и интерфейса "MCTS-SEI" в семантику сообщения интерфейса "MCTS-SEI", соответствующего JCTVC-Q1008_V2 добавляется ПРИМЕЧАНИЕ, показанное на фиг. 12.
ПРИМЕЧАНИЕ - Когда признак intraBC_ref_prev_slice_flag равен 1, процессу внутрикадрового блокового копирования может потребоваться зависимость, в отношении декодирования, между элементами мозаики. Было бы хорошо, чтобы в элементах мозаики, которые выбраны согласно набору элементов мозаики с временным ограничением движения, кодеры задавали признак intraBC_ref_prev_slice_flag равным 0.
Далее, описываются приводимые в качестве примера варианты применения вышеописанной настоящей технологии в конкретных устройствах.
Первый вариант воплощения изобретения
Приводимая в качестве примера конфигурация некоторого варианта воплощения кодирующего устройства
Фиг. 13 представляет собой структурную схему, на которой показана приводимая в качестве примера конфигурация некоторого первого варианта воплощения кодирующего устройства, в котором применена настоящая технология.
Кодирующее устройство 10, показанное на фиг. 13, включает в себя задающий блок 11, кодирующий блок 12 и передающий блок 13, и кодирует изображения способом, совместимым с HEVC-кодированием.
В частности, задающий блок 11 кодирующего устройства 10 задает VPS, SPS, PPS, VUI, SEI и тому подобное. В частности, задающий блок 11 задает в SPS и PPS информацию управления IntraBC. Задающий блок 11 предоставляет наборы параметров, такие как VPS, SPS, PPS, VUI, SEI, которые были заданы, в кодирующий блок 12.
Изображение на покадровой основе вводится в кодирующий блок 12. Обращаясь к наборам параметров, предоставленным из задающего блока 11, кодирующий блок 12 кодирует это входное изображение способом, совместимым с HEVC-кодированием. В частности, в соответствии с информацией управления IntraBC, содержащейся в SPS и PPS, предоставленных из задающего блока 11, кодирующий блок 12 выполняет процесс предсказания в режиме IntraBC, в котором применяется настоящая технология, и делает внутрикадровое предсказание. Кодирующий блок 12 генерирует закодированный поток данных из закодированных данных, полученных как результат этого кодирования, и из наборов параметров, и предоставляет этот закодированный поток данных передающему блоку 13.
Передающий блок 13 передает закодированный поток данных, предоставленный из кодирующего блока 12, на декодирующее устройству, которое будет описано позже.
Приводимая в качестве примера конфигурация кодирующего блока
Фиг. 14 представляет собой структурную схему, на которой показана приводимая в качестве примера конфигурация кодирующего блока 12, показанного на фиг. 13.
Кодирующий блок 12, показанный на фиг. 14, включает в себя аналого-цифровой преобразователь 31, буфер 32 переупорядочивания экранных изображений, блок 33 арифметической операции, блок 34 ортогонального преобразования, блок 35 квантования, блок 36 кодирования без потерь, накопительный буфер 37, блок 38 процесса, обратного квантованию, блок 39 обратного ортогонального преобразования и суммирующий блок 40. Кодирующий блок 12 также включает в себя фильтр 41 устранения блочности, фильтр 42 адаптивного смещения, фильтр 43 с контуром адаптивного управления, память 44 кадров, переключатель 45, блок 46 внутрикадрового предсказания, блок 47 предсказания/компенсации движения, блок 48 выбора предсказанного изображения и блок 49 управления скоростью.
Аналого-цифровой преобразователь 31, входящий в состав кодирующего блока 12 выполняет аналого-цифровое преобразование в отношении изображения на покадровой основе, которое вводится в качестве текущего объекта, подлежащего кодированию. Аналого-цифровой преобразователь 31 выводит изображение, которое представляет собой преобразованный цифровой сигнал, в буфер 32 переупорядочивания экранных изображений, и сохраняет это изображение в буфере 32 переупорядочивания экранных изображений.
Буфер 32 переупорядочивания экранных изображений переупорядочивает кадры изображения, сохраненные в порядке отображения, таким образом, чтобы кадры изображения были упорядочены в порядке кодирования в соответствии со структурой GOP (Группы изображений). Буфер 32 переупорядочивания экранных изображений предоставляет переупорядоченное изображение блоку 33 арифметической операции, блоку 46 внутрикадрового предсказания и блоку 47 предсказания/компенсации движения.
Блок 33 арифметической операции выполняет кодирование, вычитая предсказанное изображение, предоставляемое из блока 48 выбора предсказанное изображения, из изображения, предоставляемого из буфера 32 переупорядочивания экранных изображений. Блок 33 арифметической операции выводит получающееся в результате этого изображение, как информацию остаточных погрешностей (разность), в блок 34 ортогонального преобразования. Следует отметить, что в случае, когда из блока 48 выбора предсказанное изображения не предоставляется никакого предсказанного изображения, блок 33 арифметической операции выводит в блок 34 ортогонального преобразования, как информацию остаточных погрешностей, изображение, считываемое из буфера 32 переупорядочивания экранных изображений.
Блок 34 ортогонального преобразования выполняет процесс ортогонального преобразования в отношении информации остаточных погрешностей, предоставленной из блока 33 арифметической операции, для каждого TU. После процесса ортогонального преобразования блок 34 ортогонального преобразования предоставляет результат ортогонального преобразования блоку 35 квантования.
Блок 35 квантования осуществляет квантование результата ортогонального преобразования, который предоставлен из блока 34 ортогонального преобразования. Блок 35 квантования предоставляет квантованное значение, полученное в результате квантования, блоку 36 кодирования без потерь.
Блок 36 кодирования без потерь получает, из блока 46 внутрикадрового предсказания, информацию, указывающую оптимальный режим внутрикадрового предсказания (эта информация в дальнейшем будет упоминаться как информация о режиме внутрикадрового предсказания). Блок 36 кодирования без потерь также получает, из блока 47 предсказания/компенсации движения, информацию, указывающую оптимальный режим межкадрового предсказания (эта информация в дальнейшем будет упоминаться как информация о режиме межкадрового предсказания), вектор движения, информацию для идентификации опорного изображения и тому подобное.
Блок 36 кодирования без потерь также получает, из адаптивного фильтра 42 смещения, информацию фильтра смещения о фильтре смещения, и получает, из фильтра 43 с контуром адаптивного управления, коэффициент фильтра.
Блок 36 кодирования без потерь выполняет кодирование без потерь, такое как кодирование с переменной длиной кодового слова (например, Контекстно зависимое адаптивное кодирование с переменной длиной кодового слова (CAVLC-кодирование )) или арифметическое кодирование (например, Контекстно зависимое адаптивное бинарное арифметическое кодирование (CABAC-кодирование)), в отношении квантованного значения, предоставленного из блока 35 квантования.
Блок 36 кодирования без потерь также выполняет кодирование без потерь в отношении информации о кодировании, относящейся к кодированию, которая представляет собой информацию о режиме внутрикадрового предсказания, и вектор IntraBC - только в случае режима IntraBC, или информацию о режиме межкадрового предсказания, вектор движения, информацию для идентификации опорного изображения, информацию фильтра смещения и коэффициент фильтра. Блок 36 кодирования без потерь предоставляет накопительному буферу 37 информацию о кодировании и квантованное значение, подвергнутые кодированию без потерь, как закодированные данные, подлежащие сохранению.
Следует отметить, что информация о кодировании, подвергнутая кодированию без потерь, может представлять собой информацию заголовка (например, заголовок "среза") о квантованном значении, подвергнутом кодированию без потерь.
Накопительный буфер 37 временно хранит закодированные данные, предоставленные из блока 36 кодирования без потерь. Накопительный буфер 37 также предоставляет эти сохраненные закодированные данные, вместе с наборами параметров, предоставленными из задающего блока 11, показанного на фиг. 13, как закодированный поток данных, в передающий блок 13.
Квантованное значение, которое выводится из блока 35 квантования, также вводится в блок 38 процесса, обратного квантованию. Блок 38 процесса, обратного квантованию осуществляет над квантованным значением процесс, обратный квантованию. Блок 38 процесса, обратного квантованию предоставляет результат ортогонального преобразования, полученный в результате процесса, обратного квантованию, блоку 39 обратного ортогонального преобразования.
Блок 39 обратного ортогонального преобразования выполняет, в отношении результата ортогонального преобразования, предоставленного из блока 38 процесса, обратного квантованию, процесс обратного ортогонального преобразования для каждого TU. Обратное ортогональное преобразование выполняется, например, посредством обратного дискретного косинусного преобразования (IDCT-преобразования) или посредством обратного дискретного синусного преобразование (IDST-преобразования). Блок 39 обратного ортогонального преобразования предоставляет информацию остаточных погрешностей, полученную в результате процесса обратного ортогонального преобразования, суммирующему блоку 40.
Суммирующий блок 40 суммирует информацию остаточных погрешностей, предоставленную из блока 39 обратного ортогонального преобразования, с предсказанным изображением, предоставленным из блока 48 выбора предсказанного изображения, для того, чтобы выполнить декодирование. Суммирующий блок 40 предоставляет декодированное изображение в фильтр 41 устранения блочности и в память 44 кадров.
Фильтр 41 устранения блочности выполняет, в отношении декодированного изображения, предоставленного из суммирующего блока 40, адаптивный процесс фильтрования, устраняющего блочность, для того, чтобы устранить вызванное блочностью искажение. Получающееся в результате этого изображение предоставляется в фильтр 42 адаптивного смещения.
Фильтр 42 адаптивного смещения выполняет, в отношении изображения, подвергнутого фильтром 41 устранения блочности адаптивному процессу фильтрования, устраняющего блочность, процесс фильтрования с адаптивным смещением (адаптивное смещение выборки (SAO-смещение)), главным образом, для того, чтобы устранить "звон".
В частности, фильтр 42 адаптивного смещения определяет тип процесса фильтрования с адаптивным смещением для каждого наибольшего элемента кодирования (LCU-элемента), как наибольшего элемента кодирования, и вычисляет смещение, подлежащее использованию в процессе фильтрования с адаптивным смещением. Используя это вычисленное смещение, фильтр 42 адаптивного смещения выполняет процесс фильтрования с адаптивным смещением, относящийся к этому определенному типу, в отношении изображения, подвергнутого адаптивному процессу устраняющего блочность фильтрования.
Фильтр 42 адаптивного смещения предоставляет изображение, подвергнутое процессу фильтрования с адаптивным смещением, в фильтр 43 с контуром адаптивного управления. Фильтр 42 адаптивного смещения также предоставляет блоку 36 кодирования без потерь информацию фильтра смещения, которая представляет собой информацию, указывающую тип выполненного процесса фильтрования с адаптивным смещением и смещение.
Фильтр 43 с контуром адаптивного управления образован, например, двумерным Винеровским фильтром. Например, для каждого LCU, фильтр 43 с контуром адаптивного управления выполняет, в отношении изображения, которое предоставлено из фильтра 42 адаптивного смещения и было подвергнуто процессу фильтрования с адаптивным смещением, процесс фильтрования в контуре адаптивного управления (ALF-процесс).
В частности, для каждого LCU, фильтр 43 с контуром адаптивного управления вычисляет коэффициент фильтра, который используется в процессе фильтрования в контуре адаптивного управления для того, чтобы минимизировать остаточную погрешность между исходным изображением, которое представляет собой изображение, выводимое из буфера 32 переупорядочивания экранных изображений, и изображением, подвергнутым процессу фильтрования в контуре адаптивного управления. После этого, используя этот вычисленный коэффициент фильтра, фильтр 43 с контуром адаптивного управления выполняет, для каждого LCU, в отношении изображения, подвергнутого процессу фильтрования с адаптивным смещением, процесс фильтрования в контуре адаптивного управления.
Фильтр 43 с контуром адаптивного управления предоставляет изображение, подвергнутое процессу фильтрования в контуре адаптивного управления, в память 44 кадров. Фильтр 43 с контуром адаптивного управления также предоставляет блоку 36 кодирования без потерь коэффициент фильтра, использованный в процесс фильтрования в контуре адаптивного управления.
Следует отметить, что, хотя в этом примере процесс фильтрования в контуре адаптивного управления выполняется для каждого LCU, элемент обработки в процессе фильтрования в контуре адаптивного управления не ограничен Наибольшим элементом кодирования. Однако, обработка данных может быть выполнена эффективно там, где фильтр 42 адаптивного смещения и фильтр 43 с контуром адаптивного управления, используют один и тот же элемент обработки.
Память 44 кадров хранит изображение, предоставленное из фильтра 43 с контуром адаптивного управления, и изображение, предоставленное из суммирующего блока 40. Изображение, примыкающее к элементу предсказания (PU-элементу), из числа изображений, которые хранятся в памяти 44 кадров и не были подвергнуты никакому процессу фильтрования, предоставляется, в качестве периферийного изображения, через переключатель 45 в блок 46 внутрикадрового предсказания. Между тем, изображение, которое хранится в памяти 44 кадров и было подвергнуто процессу фильтрования, выводится, в качестве опорного изображения, через переключатель 45 в блок 47 предсказания/компенсации движения.
Информация управления IntraBC, содержащаяся в SPS и PPS предоставляется из задающего блока 11 в блок 46 внутрикадрового предсказания. Используя периферийное изображение, которое было считано из памяти 44 кадров через переключатель 45, блок 46 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания во всех режимах-кандидатах внутрикадрового предсказания для каждого PU. При этом, блок 46 внутрикадрового предсказания также выполняет внутрикадровое предсказание в режиме Внутрикадрового блокового копирования в соответствии с информацией управления Внутрикадровым блоковым копированием.
Кроме того, в соответствии с изображением, считанным из буфера 32 переупорядочивания экранных изображений, и предсказанным изображением, сгенерированным в результате процесса внутрикадрового предсказания, блок 46 внутрикадрового предсказания вычисляет значения функции "стоимости" (описываемой позже подробно) для всех режимов-кандидатов внутрикадрового предсказания. Блок 46 внутрикадрового предсказания затем определяет оптимальный режим внутрикадрового предсказания, который представляет собой режим внутрикадрового предсказания с наименьшим значением функции "стоимости".
Блок 46 внутрикадрового предсказания предоставляет предсказанное изображение, сгенерированное в оптимальном режиме внутрикадрового предсказания и соответствующее значение функции "стоимости", в блок 48 выбора предсказанного изображения. Получив от блока 48 выбора предсказанного изображения уведомление о выборе предсказанного изображения, сгенерированного в оптимальном режиме внутрикадрового предсказания, блок 46 внутрикадрового предсказания предоставляет информацию о режиме внутрикадрового предсказания в блок 36 кодирования без потерь. Следует отметить, что режим внутрикадрового предсказания представляет собой режим, указывающий размер каждого элемента предсказания и направления предсказания. Если оптимальный режим внутрикадрового предсказания представляет собой режим Внутрикадрового блокового копирования, то на этой стадии блоку 36 кодирования без потерь также предоставляется вектор IntraBC.
Блок 47 предсказания/компенсации движения выполняет процесс предсказания/компенсации движения во всех режимах - кандидатах межкадрового предсказания, для каждого PU. В частности, блок 47 предсказания/компенсации движения определяет, для каждого элемента предсказания, векторы движения для всех режимов - кандидатов межкадрового предсказания в соответствии с изображением, предоставленным из буфера 32 переупорядочивания экранных изображений и опорным изображением, считанным через переключатель 45 из памяти 44 кадров. После этого, блок 47 предсказания/компенсации движения выполняет, для каждого элемента предсказания, процесс компенсации в отношении опорного изображения в соответствии с этими векторами движения, и генерирует предсказанные изображения.
На этой стадии, блок 47 предсказания/компенсации движения вычисляет значения функции "стоимости" для всех режимов - кандидатов межкадрового предсказания в соответствии с изображением, предоставленным из буфера 32 переупорядочивания экранных изображений. и предсказанными изображениями, и определяет оптимальный режим межкадрового предсказания, который представляет собой режим межкадрового предсказания с наименьшим значением функции "стоимости". После этого, блок 47 предсказания/компенсации движения предоставляет значение функции "стоимости" оптимального режима межкадрового предсказания и соответствующее предсказанное изображение в блок 48 выбора предсказанного изображения. В дополнение к этому, получив от блока 48 выбора предсказанного изображения уведомление о выборе предсказанного изображения, сгенерированного в оптимальном режиме межкадрового предсказания, блок 47 предсказания/компенсации движения выводит информацию о режиме межкадрового предсказания, соответствующий вектор движения, информацию для идентификации опорного изображения и тому подобное в блок 36 кодирования без потерь. Следует отметить, что режим межкадрового предсказания представляет собой режим, указывающий размер каждого элемента предсказания и тому подобное.
В соответствии со значениями функции "стоимости", предоставленными из блока 46 внутрикадрового предсказания и блока 47 предсказания/компенсации движения, блок 48 выбора предсказанного изображения определяет оптимальный режим предсказания, который представляет собой оптимальный режим внутрикадрового предсказания или оптимальный режим межкадрового предсказания: тот из них, который имеет меньшее значение функции "стоимости". После этого, блок 48 выбора предсказанного изображения предоставляет предсказанное изображение в оптимальном режиме предсказания в блок 33 арифметической операции и суммирующий блок 40. Блок 48 выбора предсказанного изображения также уведомляет блок 46 внутрикадрового предсказания или блок 47 предсказания/компенсации движения о выборе предсказанного изображения в оптимальном режиме предсказания.
В соответствии с закодированными данными, сохраняемыми в накопительном буфере 37, блок 49 управления скоростью управляет скоростью операции квантования в блоке 35 квантования таким образом, чтобы не вызывать переполнение или опустошение буфера.
Описание обработки данных, подлежащей выполнению кодирующим устройством
Фиг. 15 представляет собой блок-схему алгоритма для объяснения процесса генерации потока данных, который (процесс) подлежит выполнению кодирующим устройством 10, показанным на фиг. 13.
На этапе S11, показанном на фиг. 15, задающий блок 11, входящий в состав кодирующего устройства 10, задает наборы параметров, такие как VPS и SPS. Этот процесс задания будет описан подробно позже со ссылкой на фиг. 16.
На этапе S12, кодирующий блок 12 выполняет процесс кодирования для того, чтобы закодировать изображение на покадровой основе, вводимое извне, способом, совместимым с HEVC-кодированием. Этот процесс кодирования будет описан подробно позже, со ссылкой на фиг. 17 и 18.
На этапе S13, накопительный буфер 37 (смотри фиг. 14), входящий в состав кодирующего блока 12, генерирует закодированный поток данных, исходя из наборов параметра, предоставленных из задающего блока 11, и сохраненных закодированных данных, и предоставляет этот закодированный поток данных передающему блоку 13.
На этапе S14, передающий блок 13 передает закодированный поток данных, предоставленный из задающего блока 11, декодирующему устройству 110, которое будет описано позже, и процесс после этого заканчивается.
Обратимся теперь к блок-схеме алгоритма, показанной на фиг. 16, на которой подробно описывается процесс задания наборов параметров на этапе S11, показанном на фиг. 15. В примере, показанном на фиг. 16, в SPS и PPS задается информация управления IntraBC.
На этапе S31, задающий блок 11, показанный на фиг. 13, задает признак sps_crossslice_intraBC_enable_flag. На этапе S32, задающий блок 11 определяет то, является ли признак sps_crossslice_intraBC_enable_flag равным 1. Если на этапе S32 определено, что признак sps_crossslice_intraBC_enable_flag представляет собой "1", то процесс переходит на этап S33.
На этапе S33, задающий блок 11 задает признак intraBC_ref_prev_slice_flag. На этапе S34, задающий блок 11 определяет то, является ли признак intraBC_ref_prev_slice_flag равным 1.
Если на этапе S34 определено, что признак intraBC_ref_prev_slice_flag представляет собой "1", то процесс переходит на этап S35. На этапе S35, задающий блок 11 задает параметр intraBC_ref_prev_slice_num.
Если на этапе S32 определено, что признак sps_crossslice_intraBC_enable_flag представляет собой 0, то этапы: с S33 по S35, пропускаются, и процесс задания наборов параметров заканчивается. После этого процесс возвращается на этап S11, показанный на фиг. 15.
Если на этапе S34 определено, что признак intraBC_ref_prev_slice_flag представляет собой "0", то этап S35 пропускается, и процесс задания наборов параметров заканчивается. После этого процесс возвращается на этап S11, показанный на фиг. 15.
Далее, фиг. 17 и 18 представляют собой блок-схемы алгоритмов для подробного объяснения процесса кодирования на этапе S12, показанном на фиг. 15. Изображение на покадровой основе вводится из задающего блока 11 в аналого-цифровой преобразователь 31, а информация управления IntraBC предоставляется блоку 46 внутрикадрового предсказания.
На этапе S61, показанном на фиг. 17, аналого-цифровой преобразователь 31 (смотри фиг. 14), входящий в состав кодирующего блока 12, выполняет аналого-цифровое преобразование в отношении изображения на покадровой основе, которое было введено как текущий объект, подлежащий кодированию. Аналого-цифровой преобразователь 31 выводит изображение, которое представляет собой преобразованный цифровой сигнал, в буфер 32 переупорядочивания экранных изображений, и сохраняет это изображение в буфер 32 переупорядочивания экранных изображений.
На этапе S62, буфер 32 переупорядочивания экранных изображений переупорядочивает кадры изображения, сохраненные в порядке отображения, таким образом, чтобы кадры изображения были упорядочены в порядке кодирования в соответствии со структурой GOP. Буфер 32 переупорядочивания экранных изображений предоставляет переупорядоченное изображение покадровой основе блоку 33 арифметической операции, блоку 46 внутрикадрового предсказания и блоку 47 предсказания/компенсации движения. Кроме того, из задающего блока 11 блоку 46 внутрикадрового предсказания предоставляется информация управления IntraBC.
На этапе S63, блок 46 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания во всех режимах-кандидатах внутрикадрового предсказания, для каждого PU. Этот процесс внутрикадрового предсказания будет подробно описан позже со ссылкой на фиг. 19. Таким образом, в соответствии с изображением, считанным из буфера 32 переупорядочивания экранных изображений, и предсказанным изображением, сгенерированным в результате процесса внутрикадрового предсказания, блок 46 внутрикадрового предсказания вычисляет значения функции "стоимости" для всех режимов-кандидатов внутрикадрового предсказания (включающих в свое число режим предсказания с IntraBC). После этого, блок 46 внутрикадрового предсказания определяет оптимальный режим внутрикадрового предсказания, который представляет собой режим внутрикадрового предсказания с наименьшим значением функции "стоимости". Блок 46 внутрикадрового предсказания предоставляет предсказанное изображение, сгенерированное в оптимальном режиме внутрикадрового предсказания, и соответствующее значение функции "стоимости" в блок 48 выбора предсказанного изображения.
Между тем, на этапе S64, блок 47 предсказания/компенсации движения выполняет процесс предсказания/компенсации движения во всех режимах - кандидатах межкадрового предсказания, для каждого PU. Блок 47 предсказания/компенсации движения также вычисляет значения функции "стоимости" всех режимов-кандидатов межкадрового предсказания в соответствии с изображением, предоставленным из буфера 32 переупорядочивания экранных изображений, и предсказанным изображением, и определяет оптимальный режим межкадрового предсказания, который представляет собой режим межкадрового предсказания с наименьшим значением функции "стоимости". После этого, блок 47 предсказания/компенсации движения предоставляет значение функции "стоимости" оптимального режима межкадрового предсказания и соответствующее предсказанное изображения в блок 48 выбора предсказанное изображения.
На этапе S65, в соответствии со значениями функции "стоимости", предоставленными из блока 46 внутрикадрового предсказания и блока 47 предсказания/компенсации движения, блок 48 выбора предсказанного изображения определяет оптимальный режим предсказания, который представляет собой оптимальный режим внутрикадрового предсказания или оптимальный режим межкадрового предсказания: тот из них, который имеет меньшее значение функции "стоимости". После этого, блок 48 выбора предсказанного изображения предоставляет предсказанное изображение в оптимальном режиме предсказания в блок 33 арифметической операции и суммирующий блок 40.
На этапе S65, блок 48 выбора предсказанного изображения определяет то, является ли оптимальный режим предсказания оптимальным режимом межкадрового предсказания. Если на этапе S65 определено, что оптимальный режим предсказания является оптимальным режимом межкадрового предсказания, то блок 48 выбора предсказанное изображения уведомляет блок 47 предсказания/компенсации движения о выборе предсказанного изображения, сгенерированного в оптимальном режиме межкадрового предсказания.
После этого, на этапе S66, блок 47 предсказания/компенсации движения предоставляет блоку 36 кодирования без потерь информацию о режиме межкадрового предсказания, вектор движения и информацию для идентификации опорного изображения, и процесс переходит на этап S68.
С другой стороны, если на этапе S65 определено, что оптимальный режим предсказания не является оптимальным режимом межкадрового предсказания или если оптимальный режим предсказания представляет собой оптимальный режим внутрикадрового предсказания, то блок 48 выбора предсказанного изображения уведомляет блок 46 внутрикадрового предсказания о выборе предсказанного изображения, сгенерированного в оптимальном режиме внутрикадрового предсказания. После этого, на этапе S67, блок 46 внутрикадрового предсказания предоставляет блоку 36 кодирования без потерь информацию о режиме внутрикадрового предсказания, и процесс переходит на этап S69. Если оптимальный режим внутрикадрового предсказания представляет собой режим IntraBC, то на этой стадии блоку 36 кодирования без потерь также предоставляется вектор IntraBC.
На этапе S69, блок 33 арифметической операции выполняет кодирование, вычитая предсказанное изображение, предоставленное из блока 48 выбора предсказанного изображения, из изображения, предоставленного из буфера 32 переупорядочивания экранных изображений. Блок 33 арифметической операции выводит получающееся в результате этого изображение, как информацию остаточных погрешностей, в блок 34 ортогонального преобразования.
На этапе S70, блок 34 ортогонального преобразования выполняет процесс ортогонального преобразования в отношении информации остаточных погрешностей, для каждого TU. После процесса ортогонального преобразования блок 34 ортогонального преобразования предоставляет результат ортогонального преобразования блоку 35 квантования.
На этапе S71, блок 35 квантования осуществляет квантование результата ортогонального преобразования, который предоставлен из блока 34 ортогонального преобразования. Блок 35 квантования предоставляет квантованное значение, полученное в результате квантования, блоку 36 кодирования без потерь и блоку 38 процесса, обратного квантованию.
На этапе S72, блок 38 процесса, обратного квантованию, осуществляет процесс, обратный квантованию, в отношении квантованного значения, предоставленного из блока 35 квантования. Блок 38 процесса, обратного квантованию, предоставляет результат ортогонального преобразования, полученный в результате процесса, обратного квантованию, блоку 39 обратного ортогонального преобразования.
На этапе S73, блок 39 обратного ортогонального преобразования выполняет процесс обратного ортогонального преобразования в отношении результата ортогонального преобразования, предоставленного из блока 38 процесса, обратного квантованию, для каждого TU. Блок 39 обратного ортогонального преобразования предоставляет информацию остаточных погрешностей, полученную в результате процесса обратного ортогонального преобразования, суммирующему блоку 40.
На этапе S74, суммирующий блок 40 суммирует информацию остаточных погрешностей, предоставленную из блока 39 обратного ортогонального преобразования, с предсказанным изображением, предоставленным из блока 48 выбора предсказанного изображения, для того, чтобы выполнить декодирование. Суммирующий блок 40 предоставляет декодированное изображение фильтру 41 устранения блочности и память 44 кадров.
На этапе S75, фильтр 41 устранения блочности выполняет, в отношении декодированного изображения, предоставленного из суммирующего блока 40, процесс фильтрования, устраняющего блочность. Фильтр 41 устранения блочности предоставляет получающееся в результате этого изображение фильтру 42 адаптивного смещения.
На этапе S76, фильтр 42 адаптивного смещения выполняет, для каждого LCU, в отношении изображения, предоставленного из фильтра 41 устранения блочности, процесс фильтрования с адаптивным смещением. Фильтр 42 адаптивного смещения предоставляет получающееся в результате этого изображение фильтру 43 с контуром адаптивного управления. Фильтр 42 адаптивного смещения также предоставляет блоку 36 кодирования без потерь информацию фильтра смещения, для каждого LCU.
На этапе S77, фильтр 43 с контуром адаптивного управления выполняет, для каждого LCU, в отношении изображения, которое предоставлено из фильтра 42 адаптивного смещения, процесс фильтрования в контуре адаптивного управления. Фильтр 43 с контуром адаптивного управления предоставляет получающееся в результате этого изображение в память 44 кадров. Фильтр 43 с контуром адаптивного управления также предоставляет блоку 36 кодирования без потерь коэффициент фильтра, использованный в процесс фильтрования в контуре адаптивного управления.
На этапе S78, память 44 кадров сохраняет изображение, предоставленное из фильтра 43 с контуром адаптивного управления, и изображение, предоставленное из суммирующего блока 40. Изображение, примыкающее к PU, из числа изображений, которые хранятся в памяти 44 кадров и не были подвергнуты никакому процессу фильтрования, предоставляется, в качестве периферийного изображения, через переключатель 45 в блок 46 внутрикадрового предсказания. Между тем, изображение, которое хранится в памяти 44 кадров и было подвергнуто процессу фильтрования, выводится, в качестве опорного изображения, через переключатель 45 в блок 47 предсказания/компенсации движения.
На этапе S79, блок 36 кодирования без потерь выполняет кодирование без потерь в отношении информации о кодировании, такой как информация о режиме внутрикадрового предсказания или информация о режиме межкадрового предсказания, вектора движения, информации для идентификации опорного изображения, информации фильтра смещения и коэффициента фильтра. Следует отметить, что, если режим предсказания на этой стадии представляет собой оптимальный режим внутрикадрового предсказания, и оптимальный режим внутрикадрового предсказания представляет собой режим IntraBC, то вектор IntraBC, как информация о кодировании, также подвергается кодированию без потерь.
На этапе S80, блок 36 кодирования без потерь выполняет кодирование без потерь в отношении квантованного значения, предоставленного из блока 35 квантования. После этого, блок 36 кодирования без потерь генерирует закодированные данные исходя из информации о кодировании, подвергнутой кодированию без потерь в ходе процедуры на этапе S78, и квантованного значения, подвергнутого кодированию без потерь, и предоставляет эти закодированные данные накопительному буферу 37.
На этапе S81, накопительный буфер 37 временно сохраняет закодированные данные, предоставленные из блока 36 кодирования без потерь.
На этапе S82, в соответствии с закодированными данными, сохраненными в накопительном буфере 37, блок 49 управления скоростью управляет скоростью операции квантования в блоке 35 квантования таким образом, чтобы не вызывать переполнение или опустошение буфера. После этого, процесс возвращается на этап S12, показанный на фиг. 15, и переходит на этап S13.
Обратимся теперь к блок-схеме алгоритма, показанной на фиг. 19, на которой процесс внутрикадрового предсказания на этапе S63, показанном на фиг. 17, описывается подробно. Из задающего блока 11 блоку 46 внутрикадрового предсказания предоставляется информация управления IntraBC, такая как признак sps_crossslice_intraBC_enable_flag, признак intra_BC_ref_prev_slice_flag и параметр intraBC_ref_prev_slice_num.
На этапе S91, блок 46 внутрикадрового предсказания разделяет изображение на "срезы". На этапе S92, блок 46 внутрикадрового предсказания выполняет внутрикадровое предсказание в режимах предсказания, отличных от режима IntraBC, для того, чтобы вычислить значения функции "стоимости".
На этапе S93, блок 46 внутрикадрового предсказания определяет то, является ли признак sps_crossslice_intraBC_enable_flag равным 1. Если на этапе S93 определено, что признак sps_crossslice_intraBC_enable_flag представляет собой "1", то процесс переходит на этап S94.
На этапе S94, блок 46 внутрикадрового предсказания ищет вектор движения IntraBC. На этапе S95, блок 46 внутрикадрового предсказания определяет то, завершен ли поиск в области поиска. Если на этапе S95 определено, что поиск в области поиска не завершен, то процесс переходит на этап S96.
На этапе S96, блок 46 внутрикадрового предсказания изменяет точки поиска. На этапе S97, блок 46 внутрикадрового предсказания определяет то, расположена ли точка поиска, измененная, на этапе S96, по отношению к прежней точке, в пределах текущего "среза".
Если на этапе S97 определено, что точка поиска не расположена в этом "срезе", то процесс переходит на этап S98. На этапе S98, блок 46 внутрикадрового предсказания определяет то, является ли признак intra_BC_ref_prev_slice_flag равным 1. Если на этапе S98 определено, что признак intra_BC_ref_prev_slice_flag представляет собой "1", то процесс переходит на этап S99.
На этапе S99, блок 46 внутрикадрового предсказания определяет то, находится ли место расположения точки поиска в пределах области, указанной параметром intraBC_ref_prev_slice_num.
Если на этапе S99 определено, что место расположения точки поиска не находится в пределах области, указанной параметром intraBC_ref_prev_slice_num, то процесс возвращается на этап S96, и повторяются процедуры после этого этапа. Если на этапе S98 определено, что признак intra_BC_ref_prev_slice_flag не представляет собой "1", то процесс также возвращается на этап S96, и повторяются процедуры после этого этапа.
Если на этапе S99 определено, что место расположения точки поиска находится в пределах области, указанной параметром intraBC_ref_prev_slice_num, то процесс переходит на этап S100. Если на этапе S97 определено, что точка поиска расположена в этом "срезе", то процесс также переходит на этап S100.
На этапе S100, блок 46 внутрикадрового предсказания вычисляет значение функции "стоимости" в режиме IntraBC. Вектор IntraBC, соответствующий наименьшей "стоимости" в режиме IntraBC, сохраняется в памяти (не показанной на чертежах). На этапе S101, блок 46 внутрикадрового предсказания определяет то, является ли значение функции "стоимости", вычисленное на этапе S100, меньшим, чем наименьшая "стоимость".
Если на этапе S101 определено, что значение функции "стоимости" меньше, чем наименьшая "стоимость", то процесс переходит на этап S102. На этапе S102, обновляются вектор IntraBC в памяти и наименьшая "стоимость", и процесс возвращается на этап S96. После этого повторяются процедуры после этого этапа.
Если на этапе S101 определено, что значение функции "стоимости" не меньше, чем наименьшая "стоимость", то процесс возвращается на этап S96, и повторяются процедуры после этого этапа.
Если на этапе S95 определено, что поиск в области поиска завешен, то процесс переходит на этап S103. Если на этапе S93 определено, что признак sps_crossslice_intraBC_enable_flag не представляет собой "1", то процесс также переходит, на этап S103.
На этапе S103, блок 46 внутрикадрового предсказания определяет, в соответствии со значением функции "стоимости", оптимальный режим внутрикадрового предсказания и заканчивает процесс внутрикадрового предсказания.
Приводимая в качестве примера конфигурация некоторого варианта воплощения декодирующего устройства
Фиг. 20 представляет собой структурную схему, на которой показана приводимая в качестве примера конфигурация некоторого варианта воплощения декодирующего устройства, в котором применено настоящее раскрываемое изобретение. Это декодирующее устройство декодирует закодированный поток данных, передаваемый с кодирующего устройства 10, показанного на фиг. 13.
Декодирующее устройство 110, показанное на фиг. 20, включает в себя принимающий блок 111, извлекающий блок 112 и декодирующий блок 113.
Принимающий блок 111, входящий в состав декодирующего устройства 110, принимает закодированный поток данных, передаваемый с кодирующего устройства 10, показанного на фиг. 13, и предоставляет этот закодированный поток данных извлекающему блоку 112.
Извлекающий блок 112 извлекает наборы параметров, такие как VPS, SPS и PPS, и закодированные данные от закодированного потока данных, предоставляемого из принимающего блока 111, и предоставляет эти наборы параметров и закодированные данные декодирующему блоку 113. В частности, извлекающий блок 112 извлекает, из SPS и PPS, информацию управления IntraBC.
Декодирующий блок 113 декодирует закодированные данные, предоставленные из извлекающего блока 112, способом, совместимым с HEVC. На этой стадии, декодирующий блок 113 выполняет процесс декодирования параллельно или последовательно в соответствии с информацией управления IntraBC, содержащейся в SPS и PPS, предоставленных из извлекающего блока 112. Декодирующий блок 113 выводит изображение, полученное в результате декодирования.
Приводимая в качестве примера конфигурация декодирующего блока
Фиг. 21 представляет собой структурную схему, на которой показана приводимая в качестве примера конфигурация декодирующего блока 113, показанного на фиг. 20.
Декодирующий блок 113, показанный на фиг. 21, включает в себя накопительный буфер 131, блок 132 декодирования без потерь, блок 133 процесса, обратного квантованию, блок 134 обратного ортогонального преобразования, суммирующий блок 135, фильтр 136 устранения блочности, фильтр 137 адаптивного смещения, фильтр 138 с контуром адаптивного управления и буфер 139 переупорядочивания экранных изображений. Декодирующий блок 113 также включает в себя цифро-аналоговый преобразователь 140, память 141 кадров, переключатель 142, блок 143 внутрикадрового предсказания, блок 144 компенсации движения и переключатель 145.
Накопительный буфер 131, входящий в состав декодирующего блока 113, принимает и аккумулирует закодированные данные, поступающие от извлекающего блока 112, показанного на фиг. 20. Накопительный буфер 131 предоставляет аккумулированные им закодированные данные блоку 132 декодирования без потерь.
Блок 132 декодирования без потерь, выполняя, в отношении закодированных данных, предоставленных из накопительного буфера 131, декодирование без потерь, такое как декодирование с переменной длиной кодового слова или арифметическое декодирование, получает квантованное значение и информацию о кодировании. Блок 132 декодирования без потерь предоставляет квантованное значение блоку 133 процесса, обратного квантованию. Следует отметить, что в блок 132 декодирования без потерь вводится, из извлекающего блока 112, информация управления IntraBC. В соответствии с информацией управления IntraBC, поступающей из извлекающего блока 112, блок 132 декодирования без потерь управляет определением того, должен ли процесс декодирования "среза" после этого выполняться параллельно или должен ли процесс декодирования "среза" после этого выполняться последовательно.
Блок 132 декодирования без потерь также предоставляет блоку 143 внутрикадрового предсказания информацию о режиме внутрикадрового предсказания (включающую в себя информацию о режиме Внутрикадрового блокового копирования) и тому подобное, в качестве информации о кодировании. Если информация о режиме внутрикадрового предсказания указывает режим Внутрикадрового блокового копирования, то также на этой стадии блоку 143 внутрикадрового предсказания предоставляется вектор IntraBC. Блок 132 декодирования без потерь также предоставляет блоку 144 компенсации движения вектор движения, информацию о режиме межкадрового предсказания, информацию для идентификации опорного изображения и тому подобное.
Кроме того, блок 132 декодирования без потерь предоставляет переключателю 145 информацию о режиме внутрикадрового предсказания или информацию о режиме межкадрового предсказания, в качестве информации о кодировании. Блок 132 декодирования без потерь предоставляет фильтру 137 адаптивного смещения информацию фильтра смещения, в качестве информации о кодировании. Блок 132 декодирования без потерь предоставляет фильтру 138 с контуром адаптивного управления коэффициент фильтра, в качестве информации о кодировании.
Блок 133 процесса, обратного квантованию, блок 134 обратного ортогонального преобразования, суммирующий блок 135, фильтр 136 устранения блочности, фильтр 137 адаптивного смещения, фильтр 138 с контуром адаптивного управления, память 141 кадров, переключатель 142, блок 143 внутрикадрового предсказания и блок 144 компенсации движения выполняют процессы, аналогичные процессам, выполняемым блоком 38 процесса, обратного квантованию, блоком 39 обратного ортогонального преобразования, суммирующим блоком 40, фильтром 41 устранения блочности, фильтром 42 адаптивного смещения, фильтром 43 с контуром адаптивного управления, памятью 44 кадров, переключателем 45, блоком 46 внутрикадрового предсказания и блоком 47 предсказания/компенсации движения, показанными на фиг. 14, для того, чтобы декодировать изображение.
В частности, блок 133 процесса, обратного квантованию, спроектирован способом, аналогичным способу для блока 38 процесса, обратного квантованию, показанного на фиг. 14. Блок 133 процесса, обратного квантованию, осуществляет процесс, обратный квантованию, в отношении квантованного значения, поступающего из блока 132 декодирования без потерь, для каждого TU. Блок 133 процесса, обратного квантованию, предоставляет полученный результат ортогонального преобразования блоку 134 обратного ортогонального преобразования.
Блок 134 обратного ортогонального преобразования спроектирован способом, аналогичным способу для блока 39 обратного ортогонального преобразования, показанного на фиг. 14. Блок 134 обратного ортогонального преобразования выполняет, в отношении результата ортогонального преобразования, предоставленного из блока 133 процесса, обратного квантованию, процесс обратного ортогонального преобразования. Блок 134 обратного ортогонального преобразования предоставляет информацию остаточных погрешностей, полученную в результате процесса обратного ортогонального преобразования, суммирующему блоку 135.
Суммирующий блок 135 выполняет декодирование, суммируя информацию остаточных погрешностей, предоставленную из блока 134 обратного ортогонального преобразования, с предсказанным изображением, предоставленным из переключателя 145. Суммирующий блок 135 предоставляет декодированное изображение в фильтр 136 устранения блочности и в память 141 кадров.
Фильтр 136 устранения блочности выполняет, в отношении изображения, предоставленного из суммирующего блока 135, адаптивный процесс фильтрования, устраняющего блочность, и предоставляет получающееся в результате этого изображение в фильтр 137 адаптивного смещения.
Используя смещение, указанное информацией фильтра смещения, предоставленной из блока 132 декодирования без потерь, фильтр 137 адаптивного смещения также выполняет, для каждого LCU, в отношении изображения, подвергнутого адаптивному процессу фильтрования, устраняющего блочность, процесс фильтрования с адаптивным смещением, относящийся к типу, указанному информацией фильтра смещения. Фильтр 137 адаптивного смещения предоставляет изображение, подвергнутое процессу фильтрования с адаптивным смещением, в фильтр 138 с контуром адаптивного управления.
Используя коэффициент фильтра, предоставленный из блока 132 декодирования без потерь, фильтр 138 с контуром адаптивного управления выполняет, для каждого LCU, в отношении изображения, предоставленного из фильтра 137 адаптивного смещения, процесс фильтрования в контуре адаптивного управления. Фильтр 138 с контуром адаптивного управления предоставляет получающееся в результате этого изображение в память 141 кадров и буфер 139 переупорядочивания экранных изображений.
Буфер 139 переупорядочивания экранных изображений сохраняет изображение, предоставленное из фильтр 138 с контуром адаптивного управления, кадр за кадром. Буфер 139 переупорядочивания экранных изображений переупорядочивает кадры сохраненного изображения в исходный порядок отображения, вместо порядка кодирования, и предоставляет переупорядоченное изображение цифро-аналоговому преобразователю 140.
Цифро-аналоговый преобразователь 140 выполняет цифро-аналоговое преобразование в отношении изображения на покадровой основе, предоставленного из буфера 139 переупорядочивания экранных изображений, и выводит изображение.
Память 141 кадров сохраняет изображение, предоставленное из фильтра 138 с контуром адаптивного управления, и изображение, предоставленное из суммирующего блока 135. Изображение, примыкающее к PU, из числа изображений, которые хранятся в памяти 141 кадров и не были подвергнуты никакому процессу фильтрования, предоставляется, в качестве периферийного изображения, через переключатель 142 в блок 143 внутрикадрового предсказания. Между тем, изображение, которое хранится в памяти 141 кадров и было подвергнуто процессу фильтрования, выводится, в качестве опорного изображения, через переключатель 142 в блок 144 компенсации движения.
Используя периферийное изображение, которое было считано из памяти 141 кадров через переключатель 142, блок 143 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания в оптимальном режиме внутрикадрового предсказания, указанному информацией о режиме внутрикадрового предсказания, предоставленной из блока 132 декодирования без потерь для каждого PU. В случае режима IntraBC, из блока 132 декодирования без потерь также присылается вектор IntraBC, и внутрикадровое предсказание выполняется в режиме IntraBC с использованием этого вектора IntraBC. Блок 143 внутрикадрового предсказания предоставляет получающееся в результате этого предсказанное изображение переключателю 145.
Из памяти 141 кадров через переключатель 142, блок 144 компенсации движения считывает опорное изображение, идентифицированное информацией, предоставленной из блока 132 декодирования без потерь для идентификации опорного изображения. Используя вектор движения и опорное изображение, предоставленное из блока 132 декодирования без потерь, блок 144 компенсации движения выполняет процесс компенсации движения в оптимальном режиме межкадрового предсказания, указанном информацией о режиме межкадрового предсказания, предоставленной из блока 132 декодирования без потерь. Блок 144 компенсации движения предоставляет получающееся в результате этого предсказанное изображение переключателю 145.
В случае, когда из блока 132 декодирования без потерь предоставлена информация о режиме внутрикадрового предсказания, переключатель 145 предоставляет суммирующему блоку 135 предсказанное изображение, предоставленное из блока 143 внутрикадрового предсказания. С другой стороны, В случае, когда из блока 132 декодирования без потерь предоставлена информация о режиме межкадрового предсказания, переключатель 145 предоставляет суммирующему блоку 135 предсказанное изображение, предоставленное из блока 144 компенсации движения.
Описание процесса, подлежащего выполнению декодирующим устройством
Фиг. 22 представляет собой блок-схему алгоритма для объяснения процесса генерирования изображения, подлежащего выполнению декодирующим устройством 110, показанным на фиг. 20.
На этапе S111, показанном на фиг. 22, принимающий блок 111, входящий в состав декодирующего устройства 110, принимает закодированный поток данных, передаваемый от кодирующего устройства 10, показанного на фиг. 13, и предоставляет этот закодированный поток данных извлекающему блоку 112.
На этапе S112, извлекающий блок 112 извлекает закодированные данные из закодированного потока данных, предоставленного из принимающего блока 111, и предоставляет эти закодированные данные декодирующему блоку 113.
На этапе S113, извлекающий блок 112 извлекает, из закодированного потока данных, предоставленного из принимающего блока 111, наборы параметров, такие как VPS, SPS и PPS, и предоставляет эти наборы параметров декодирующему блоку 113. В частности, извлекающий блок 112 извлекает, из SPS и PPS, информацию управления IntraBC.
На этапе S114, используя, по мере необходимости, наборы параметров, предоставляемые из извлекающего блока 112, декодирующий блок 113 выполняет процесс декодирования для того, чтобы декодировать закодированные данные, предоставленные из извлекающего блока 112, способом, совместимым с HEVC-кодированием. Следует отметить, что декодирующий блок 113 выполняет процесс декодирования параллельно или независимо в соответствии с информацией управления IntraBC, содержащейся в SPS и PPS, предоставленных из извлекающего блока 112. Этот процесс декодирования будет подробно описан позже со ссылкой на фиг. 23. После этого процесс заканчивается.
Обратимся теперь к блок-схеме алгоритма, показанной на фиг. 23, на которой подробно описывается процесс декодирования на этапе S114, показанном на фиг. 22.
На этапе S121, блок 132 декодирования без потерь декодирует все заголовки "срезов" элемента доступа (AU-элемента).
На этапе S122, блок 132 декодирования без потерь декодирует N "срезов", на которые произведено разделение.
На этапе S123, блок 132 декодирования без потерь определяет то, является ли признак sps_crossslice_intraBC_enable_flag равным 1. Если на этапе S123 определено, что признак sps_crossslice_intraBC_enable_flag представляет собой "1", то процесс переходит на этап S124.
На этапе S124, блок 132 декодирования без потерь определяет то, является ли признак intra_BC_ref_prev_slice_flag равным 1. Если на этапе S124 определено, что признак intra_BC_ref_prev_slice_flag представляет собой "1", то процесс переходит на этап S125.
На этапе S125, блок 132 декодирования без потерь заставляет блок 133 процесса, обратного квантованию, и соответствующие компоненты, расположенные на стадиях после него, последовательно декодировать "срезы": с 0 по N-1.
Если на этапе S123 определено, что признак sps_crossslice_intraBC_enable_flag (sps_признак_задействования_межсрезового_Внутрикадрового_блокового_копирования) не представляет собой "1", или, с другой стороны, если на этапе S124 определено, что признак intra_BC_ref_prev_slice_flag не представляет собой "1", то процесс переходит на этап S126.
На этапе S126, блок 132 декодирования без потерь заставляет блок 133 процесса, обратного квантованию, и соответствующие компоненты, расположенные на стадиях после него, декодировать "срезы": с 0 по N-1, параллельно.
Следует отметить, что процесс декодирования "срезов" на этапах S125 и S126 будет описан позже со ссылкой на фиг. 25.
Обратимся теперь к блок-схеме алгоритма, показанной на фиг. 24, на которой описывается другой пример процесса декодирования на этапе S114, показанном на фиг. 22.
На этапе S141, блок 132 декодирования без потерь декодирует все заголовки "срезов" элемента доступа (AU-элемента).
На этапе S142, блок 132 декодирования без потерь декодирует N "срезов", на которые произведено разделение.
На этапе S143, блок 132 декодирования без потерь определяет то, является ли признак sps_crossslice_intraBC_enable_flag равным 1. Если на этапе S143 определено, что признак sps_crossslice_intraBC_enable_flag представляет собой "1", то процесс переходит на этап S144.
На этапе S144, блок 132 декодирования без потерь определяет то, является ли признак intra_BC_ref_prev_slice_flag равным 1. Если на этапе S144 определено, что признак intra_BC_ref_prev_slice_flag представляет собой "1", то процесс переходит на этап S145.
На этапе S145, блок 132 декодирования без потерь обращается к отношению зависимости между "срезами", исходя из параметра intraBC_ref_prev_slice_num каждого "среза", и выполняет определение, в отношении каждого "среза", относительно того, находится ли этот "срез" в отношении зависимости.
Если на этапе S145 определено, что этот "срез" является "срезом", находящимся в отношении зависимости, то процесс переходит на этап S146. На этапе S146, блок 132 декодирования без потерь заставляет блок 133 процесса, обратного квантованию, и соответствующие компоненты, расположенные на стадиях после него, декодировать "срез" X (где X представляет собой номер "среза", относящийся к этому "срезу", находящемуся в отношении зависимости) последовательно.
С другой стороны, если на этапе S145 определено, что этот "срез" не является "срезом", находящимся в отношении зависимости, то процесс переходит на этап S147. На этапе S147, блок 132 декодирования без потерь заставляет блок 133 процесса, обратного квантованию, и соответствующие компоненты, расположенные на стадиях после него, декодировать "срез" Y (где Y представляет собой номер "среза", относящийся к этому "срезу", не находящемуся в отношении зависимости) параллельно.
Если на этапе S143 определено, что признак sps_crossslice_intraBC_enable_flag не представляет собой "1", или если на этапе S144 определено, что признак intra_BC_ref_prev_slice_flag не представляет собой "1", то процесс переходит на этап S148.
На этапе S148, блок 132 декодирования без потерь заставляет блок 133 процесса, обратного квантованию, и соответствующие компоненты, расположенные на стадиях после него, декодировать "срезы": с 0 по N-1, параллельно.
В вышеописанном способе, "срезы" обрабатываются в декодирующем устройстве 110 параллельно или последовательно в соответствии с информацией управления Внутрикадровым блоковым копированием.
Следует отметить, что процесс декодирования "срезов" на этапах: с S146 по S148, будет описан позже со ссылкой на фиг. 25.
Обратимся теперь к блок-схеме алгоритма, показанной на фиг. 25, на которой описывается процесс декодирования "срезов". Этот процесс выполняется в отношении "срезов", параллельно или последовательно, блоком 132 декодирования без потерь.
На этапе S161, показанном на фиг. 25, накопительный буфер 131 (смотри фиг. 21), входящий в состав декодирующего блока 113, принимает от извлекающего блока 112 показанного на фиг. 20, и аккумулирует закодированные данные на покадровой основе. Накопительный буфер 131 предоставляет аккумулированные закодированные данные блоку 132 декодирования без потерь.
На этапе S162, блок 132 декодирования без потерь выполняет, в отношении закодированных данных, предоставленных из накопительного буфера 131, декодирование без потерь для того, чтобы получить квантованное значение и информацию о кодировании. Блок 132 декодирования без потерь предоставляет квантованное значение блоку 133 процесса, обратного квантованию.
Блок 132 декодирования без потерь также предоставляет информацию о режиме внутрикадрового предсказания и тому подобное, в качестве информации о кодировании, в блок 143 внутрикадрового предсказания. Блок 132 декодирования без потерь также предоставляет блоку 144 компенсации движения вектор движения, информацию о режиме межкадрового предсказания, информацию для идентификации опорного изображения и тому подобное.
Кроме того, блок 132 декодирования без потерь предоставляет переключателю 145 информацию о режиме внутрикадрового предсказания или информацию о режиме межкадрового предсказания, в качестве информации о кодировании. Блок 132 декодирования без потерь Блок 132 декодирования без потерь предоставляет фильтру 137 адаптивного смещения информацию фильтра смещения, в качестве информации о кодировании, и предоставляет фильтру 138 с контуром адаптивного управления коэффициент фильтра.
На этапе S163, блок 133 процесса, обратного квантованию, осуществляет процесс, обратный квантованию, в отношении квантованного значения, предоставленного из блока 132 декодирования без потерь. Блок 133 процесса, обратного квантованию, предоставляет результат ортогонального преобразования, полученный в результате процесса, обратного квантованию, блоку 134 обратного ортогонального преобразования.
На этапе S164, блок 134 обратного ортогонального преобразования выполняет, в отношении результата ортогонального преобразования, предоставленного из блока 133 процесса, обратного квантованию, процесс обратного ортогонального преобразования.
На этапе S165, блок 144 компенсации движения определяет то, была ли предоставлена, из блока 132 декодирования без потерь, информация о режиме межкадрового предсказания. Если на этапе S165 определено, что информация о режиме межкадрового предсказания была предоставлена, то процесс переходит на этап S166.
На этапе S166, блок 144 компенсации движения считывает опорное изображение в соответствии с информацией идентификации опорного изображения, предоставленной из блока 132 декодирования без потерь, и выполняет процесс компенсации движения в оптимальном режиме межкадрового предсказания, указанном информацией о режиме межкадрового предсказания, используя вектор движения и опорное изображение. Блок 144 компенсации движения предоставляет получающееся в результате этого предсказанное изображение через переключатель 145 суммирующему блоку 135, и после этого процесс переходит на этап S168.
Если на этапе S165 определено, что информация о режима межкадрового предсказания не была предоставлена, или если блоку 143 внутрикадрового предсказания была предоставлена информация о режиме внутрикадрового предсказания, то процесс переходит на этап S167.
На этапе S167, блок 143 внутрикадрового предсказания определяет то, является ли режим внутрикадрового предсказания, указанный информацией о режиме внутрикадрового предсказания, режимом IntraBC. Если на этапе S167 определено, что режим не является режимом IntraBC, то процесс переходит на этап S168.
На этапе S168, используя периферийное изображение, которое было считано через переключатель 142 из памяти 141 кадров, блок 143 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания в режиме внутрикадрового предсказания (не являющемся режимом IntraBC), указанном информацией о режиме внутрикадрового предсказания. Блок 143 внутрикадрового предсказания предоставляет предсказанное изображение, сгенерированное в результате процесса внутрикадрового предсказания, через переключатель 145 суммирующему блоку 135, и после этого процесс переходит на этап S171.
Если на этапе S167 определено, что режим является режимом IntraBC, то процесс переходит на этап S169. На этапе S169, блок 143 внутрикадрового предсказания принимает из блока 132 декодирования без потерь вектор IntraBC. На этапе S170, используя периферийное изображение, которое было считано через переключатель 142 из памяти 141 кадров, блок 143 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания в режиме Внутрикадрового блокового копирования. Блок 143 внутрикадрового предсказания предоставляет предсказанное изображение, сгенерированное в результате процесса внутрикадрового предсказания, через переключатель 145 суммирующему блоку 135, и после этого процесс переходит на этап S171.
На этапе S171, суммирующий блок 135 выполняет декодирование, суммируя информацию остаточных погрешностей, предоставленную из блока 134 обратного ортогонального преобразования, с предсказанным изображением, предоставленным из переключателя 145. Суммирующий блок 135 предоставляет декодированное изображение в фильтр 136 устранения блочности и в память 141 кадров.
На этапе S172, фильтр 136 устранения блочности выполняет, в отношении изображения, предоставленного из суммирующего блока 135, процесс фильтрования, устраняющего блочность, для того, чтобы устранить искажение, вызванное блочностью. Фильтр 136 устранения блочности предоставляет получающееся в результате этого изображение в фильтр 137 адаптивного смещения.
На этапе S173, в соответствии с информацией фильтра смещения, предоставленной из блока 132 декодирования без потерь, фильтр 137 адаптивного смещения выполняет, для каждого LCU, в отношении изображения, подвергнутого адаптивному процессу фильтрования, устраняющего блочность, процесс фильтрования с адаптивным смещением. Фильтр 137 адаптивного смещения предоставляет изображение, подвергнутое процессу фильтрования с адаптивным смещением, в фильтр 138 с контуром адаптивного управления.
На этапе S174, используя коэффициент фильтра, предоставленный из блока 132 декодирования без потерь, фильтр 138 с контуром адаптивного управления выполняет, для каждого LCU, в отношении изображения, предоставленного из фильтра 137 адаптивного смещения, процесс фильтрования в контуре адаптивного управления. Фильтр 138 с контуром адаптивного управления предоставляет получающееся в результате этого изображение в память 141 кадров и буфер 139 переупорядочивания экранных изображений.
На этапе S175, память 141 кадров сохраняет изображение, предоставленное из суммирующего блока 135, и изображение, предоставленное из фильтра 138 с контуром адаптивного управления. Изображение, примыкающее к PU, из числа изображений, которые хранятся в памяти 141 кадров и не были подвергнуты никакому процессу фильтрования, предоставляется, в качестве периферийного изображения, через переключатель 142 в блок 143 внутрикадрового предсказания. Между тем, изображение, которое хранится в памяти 141 кадров и было подвергнуто процессу фильтрования, выводится, в качестве опорного изображения, через переключатель 142 в блок 144 компенсации движения.
На этапе S176, буфер 139 переупорядочивания экранных изображений сохраняет изображение, предоставленное из фильтр 138 с контуром адаптивного управления, кадр за кадром, переупорядочивает кадры сохраненного изображения в исходный порядок отображения, вместо порядка кодирования, и предоставляет переупорядоченное изображение цифро-аналоговому преобразователю 140.
На этапе S177, цифро-аналоговый преобразователь 140 выполняет цифро-аналоговое преобразование в отношении изображения на покадровой основе, предоставленного из буфера 139 переупорядочивания экранных изображений, и выводит изображение. После этого процесс возвращается на один из этапов: с S146 по S148, показанных на фиг. 23, или на этап S125 или S126, показанный на фиг. 24, и после этого заканчивается.
Вышеописанным способом можно повысить эффективность кодирования при IntraBC.
В приведенном выше примере, в качестве способа кодирования используется способ, совместимый с HEVC. Однако, настоящая технология не ограничена вышесказанным, и может быть использован некоторый другой способ кодирования/декодирования.
Следует отметить, что настоящее раскрываемое изобретение может быть применено к устройствам кодирования изображений и устройствам декодирования изображений, которые используются в случае, когда информация изображения (битовые потоки), сжатая посредством ортогонального преобразования, такого как дискретное косинусное преобразование, и компенсации движения, принимается через сетевую среду, такую как спутниковое вещание, кабельное телевидение, сеть "Интернет", или портативный телефонный аппарат, как, например, в случае HEVC-кодирования. Настоящее раскрываемое изобретение может также быть применено к устройствам кодирования изображений и устройствам декодирования изображений, которые используются в случае, когда сжатая информация изображения обрабатывается на носителе информации, таком как оптический или магнитный диск или флэш-память.
Второй вариант воплощения изобретения
Описание компьютера, на котором применено настоящее раскрываемое изобретение
Вышеописанная последовательность процессов может быть может также выполнена посредством аппаратного обеспечения и может также быть выполнена посредством программного обеспечения. В случае, когда эта последовательность процессов выполняется посредством программного обеспечения, программа, которая образует программное обеспечение, устанавливается на компьютер. При этом компьютер может представлять собой компьютер, встроенный в специализированное аппаратное обеспечение, или может представлять собой универсальный персональный компьютер, который может исполнять разнообразные типы функций, имея установленные на нем разнообразных типы программ.
Фиг. 26 представляет собой структурную схему, на которой показана приводимая в качестве примера конфигурация аппаратного обеспечения компьютера, который выполняет вышеописанную последовательность процессов в соответствии с некоторой программой.
В этом компьютере, центральный процессор (CPU) 201, постоянное запоминающее устройство (ROM) 202 и оперативное запоминающее устройство (RAM) 203 соединены друг с другом посредством шины 204.
С шиной 204, кроме того, соединен интерфейс 205 ввода/вывода. С интерфейсом 205 ввода/вывода соединены входной блок 206, выходной блок 207, запоминающий блок 208, блок 209 связи и накопитель 210.
Входной блок 206 образован клавиатурой, "мышью", микрофоном и тому подобным. Выходной блок 207 образован устройством отображения, громкоговорителем и тому подобным. Запоминающий блок 208 образован жёстким диском, энергонезависимым запоминающим устройством или тому подобным. Блок 209 связи образован сетевым интерфейсом или тому подобным. Накопитель 210 приводит в действие съемный носитель 211 информации, такой как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство.
В компьютере, имеющем вышеописанную конфигурацию, центральный процессор 201 загружает, например, программу, хранящуюся в запоминающем блоке 208, в оперативное запоминающее устройство 203 через интерфейс 205 ввода/вывода и шину 204, и исполняет эту программу, так что выполняется вышеописанная последовательность процессов.
Программа, подлежащая исполнению компьютером (CPU) 201, может, например, быть записана на съемном носителе 211 информации, как предоставляемом компактном носителе информации. В качестве альтернативы, программа может быть предоставлена через проводную или беспроводную передающую среду, такую как локальная сеть, сеть "Интернет" или цифровое спутниковое вещание.
В компьютере, программу может быть установлена в запоминающий блок 208 через интерфейс 205 ввода/вывода, когда съемный носитель 211 устанавливают в накопитель 210. Программа может также быть принята блоком 209 связи через проводную или беспроводную передающую среду и установлена в запоминающий блок 208. Кроме того, программа может быть установлена в постоянное запоминающее устройство 202 или запоминающий блок 208 заранее.
Следует отметить, что программа, подлежащая исполнению компьютером, может представлять собой программу для выполнения процессов в хронологическом порядке в соответствии с последовательностью, описанной в этой спецификации, или может представлять собой программу для выполнения процессов параллельно или для выполнения процессов тогда, когда это необходимо, например, когда имеется вызов.
Третий вариант воплощения изобретения
Варианты применения к кодированию изображения с множественными видами и декодированию изображения с множественными видами
Вышеописанная последовательность процессов может быть применена к кодированию изображения с множественными представлениями и декодированию изображения с множественными представлениями. На фиг. 27 показан пример способа кодирования изображения с множественными видами.
Как показано на фиг. 27, изображение c множественными видами включают в себя изображения множественных видов. Виды изображения с множественными видами включают в себя основной вид, кодируемый/декодируемый только с использованием изображений своего собственного вида и без использования изображений других видов, и неосновные виды, кодируемые/декодируемые с использованием изображений других видов. Неосновной вид может быть обработан с использованием изображения основного вида или может быть обработан с использованием изображения другого неосновного вида.
В случае, при котором кодируется/декодируется изображение с множественными видами, показанное на фиг. 27, кодируются/декодируются изображения соответствующих видов, и к кодированию/декодированию соответствующих видов может быть применен способ, соответствующий вышеописанному первому варианту воплощения изобретения. Таким образом, повышается эффективность кодирования.
Кроме того, при кодировании/декодировании соответствующих видов параметры, используемые в способе, соответствующем вышеописанному первому варианту воплощения изобретения, могут быть совместного использования. Если описать это более конкретно, то при кодировании/декодировании соответствующих видов могут совместно ими использоваться, в качестве информации о кодировании VPS, SPS, PPS и тому подобное. Конечно же, при кодировании/декодировании соответствующих видов может совместно ими использоваться необходимая информация, отличная от этих наборов параметров.
Таким образом, может быть предотвращена передача излишней информации, и количество (скорость передачи битов) передаваемой информации может быть уменьшено (или может быть предотвращено снижение эффективности кодирования).
Устройство кодирования многопроекционных изображений
Фиг. 28 представляет собой схему, на которой показано устройство кодирования многопроекционных изображений, которое выполняет вышеописанное кодирование изображения с множеством проекций. Как показано на фиг. 28, устройство 600 кодирования изображений с множественными видами включает в себя: кодирующий блок 601, кодирующий блок 602 и мультиплексор 603.
Кодирующий блок 601 кодирует изображение основного вида и генерирует закодированный поток данных изображения основного вида. Кодирующий блок 602 кодирует изображение неосновного вида и генерирует закодированный поток данных изображения неосновного вида. Мультиплексор 603 мультиплексирует закодированный поток данных изображения основного вида, сгенерированный в кодирующем блоке 601, и закодированный поток данных изображения неосновного вида, сгенерированный в кодирующем блоке 602, для того, чтобы сгенерировать закодированный поток данных многопроекционного изображения.
Кодирующее устройство 10 (смотри фиг. 13) может быть использовано в качестве кодирующего блока 601 и кодирующего блока 602, относящихся к устройству 600 кодирования многопроекционных изображений. То есть, при кодировании каждого вида может быть повышена эффективность кодирования при IntraBC. Кроме того, кодирующий блок 601 и кодирующий блок 602 могут выполнять кодирование (или совместно использовать признаки и параметры), с использованием, этими двумя кодирующими блоками, одних и тех же признаков и параметров (таких как синтаксические элементы, относящиеся к обработке данных между изображениями) (такие как синтаксические элементы, относящиеся к обработке данных между изображениями) между этими двумя кодирующими блоками. Таким образом, может быть предотвращено снижение эффективности кодирования.
Устройство декодирования многопроекционных изображений
Фиг. 29 представляет собой схему, на которой показано устройство декодирования многопроекционных изображений, которое выполняет вышеописанное декодирование изображения с множеством проекций. Как показано на фиг. 29, устройство 610 декодирования многопроекционных изображений с множественными видами включает в себя: демультиплексор 611 , декодирующий блок 612 и декодирующий блок 613.
Демультиплексор 611 осуществляет демультиплексирование закодированного потока данных многопроекционного изображения, сформированного посредством мультиплексирования закодированного потока данных изображения основного вида и закодированного потока данных изображения неосновного вида, и извлекает закодированный поток данных изображения основного вида и закодированный поток данных изображения неосновного вида. Декодирующий блок 612 декодирует закодированный поток данных изображения основного вида, извлеченный демультиплексором 611, и получает изображение основного вида. Декодирующий блок 613 декодирует закодированный поток данных изображения неосновного вида, извлеченный демультиплексором 611, и получает изображение неосновного вида.
Декодирующее устройство 110 (смотри фиг. 20) может быть использовано в качестве декодирующего блока 612 и декодирующего блока 613, относящихся к устройству 610 декодирования многопроекционных изображений. То есть, может быть повышена эффективность кодирования при IntraBC. Кроме того, декодирующий блок 612 и декодирующий блок 613 могут выполнять декодирование (или совместно использовать признаки и параметры), с использованием, этими двумя декодирующими блоками, одних и тех же признаков и параметров (таких как синтаксические элементы, относящиеся к обработке данных между изображениями). Таким образом, может быть предотвращено снижение эффективности кодирования.
Четвертый вариант воплощения изобретения
Варианты применения к кодированию иерархического изображения и декодированию иерархического изображения
Вышеописанная последовательность процессов может быть применена к кодированию иерархического изображения и декодированию иерархического изображения (масштабируемому кодированию и масштабируемому декодированию). На фиг. 30 показан пример способа кодирования иерархического изображения.
Кодирование иерархического изображения (масштабируемое кодирование) выполняется для того, чтобы разделить изображение на множество срезов (иерархическое представление) и закодировать эти срезы один за другим таким образом, чтобы некоторый предварительно заданный параметр имел масштабируемую функцию. Декодирование иерархического изображения (масштабируемое декодирование) представляет собой декодирование, соответствующий кодированию иерархического изображения.
Как показано на фиг. 30, в иерархическом представлении изображения, некоторый предварительно заданный параметр, имеющий масштабируемую функцию, служит в качестве базы отсчета, и одно изображение разделяется на изображения (срезы). То есть, иерархически представленное изображение (иерархическое изображение) включает в себя изображения срезов, имеющих значения этого предварительно заданного параметра, отличные друг от друга. Срезы иерархического изображения включают в себя основной срез, кодируемый и декодируемый с использованием только изображения своего собственного среза и без использования изображений других срезов, и неосновные срезы (также, именуемые как срезы расширения), кодируемые и декодируемые с использованием изображений других срезов. Неосновной срез может обрабатываться с использованием изображения основного среза или может обрабатываться с использованием изображения другого неосновного среза.
Обычно, для того, чтобы уменьшить избыточность, неосновной срез формируют из данных изображения разности (данных разности) между его собственным изображением и изображением другого среза. Например, в случае, при котором изображение разделяется на два среза, а именно, основной срез и неосновной срез (также именуемый как срез расширения), изображение с качеством, более низким, чем у исходного изображения, получают с использованием только данных основного среза, а исходное изображение (то есть, изображение с высоким качеством) получается посредством объединения данных основного среза и данных неосновного среза.
Когда иерархическое представление изображения осуществляется таким образом, можно с легк5остью получать изображения с разнообразными качествами в соответствии с обстоятельствами. Для оконечного устройства с малыми возможностями по обработке данных, такого как портативный телефон, передается информация сжатия изображения, относящаяся только к основному срезу, так, чтобы воспроизводилось движущееся изображение с низким пространственным и временным разрешением или с низким качеством изображения. Для оконечного устройства с большими возможностями по обработке данных, такого как телевизионный приемник или персональный компьютер, передается информация сжатия изображения, относящаяся к основному срезу и срезу расширения, так, чтобы могло воспроизводиться движущееся изображение с высоким пространственным и временным разрешением или с высоким качеством изображения. Таким образом, с сервера может передаваться информация сжатия изображения в соответствии с возможностями оконечного устройства или сети, без какого бы то ни было процесса перекодирования.
В случае, при котором кодируется/декодируется пример иерархического изображения, показанный на фиг. 30, кодируются/декодируются изображения соответствующих срезов, и к кодированию/декодированию соответствующих срезов может быть применен способ, соответствующий вышеописанному первому варианту воплощения изобретения. Таким образом, эффективность кодирования при IntraBC может быть улучшена. Соответственно, повышается эффективность кодирования.
Кроме того, при кодировании/декодировании соответствующих срезов, признаки и параметры, используемые в способе, соответствующем вышеописанному первому варианту воплощения изобретения, могут быть совместного использования. Если описать это более конкретно, то при кодировании/декодировании соответствующих срезов могут совместно ими использоваться, в качестве информации о кодировании, VPS, SPS, PPS и тому подобное. Конечно же, при кодировании/декодировании соответствующих срезов может совместно ими использоваться необходимая информация, отличная от этих наборов параметров.
Таким образом, может быть предотвращена передача излишней информации, и количество (скорость передачи битов) передаваемой информации может быть уменьшено (или может быть предотвращено снижение эффективности кодирования).
Масштабируемый параметр
В таком кодировании иерархического изображения и декодировании иерархического изображения (масштабируемом кодировании и масштабируемом декодировании), соответствующим образом используется параметр, имеющий масштабируемую функцию. Например, в качестве такого рода параметра может быть использовано пространственное разрешение, показанное на фиг. 31 (пространственная масштабируемость). В случае этой пространственной масштабируемости, разрешения изображения различаются между срезами. В частности, в этом случае, каждое изображение иерархически разделено на два среза, которые представляют собой основной срез с более низким пространственным разрешением, чем пространственное разрешение исходного изображения, и срез расширения, который может достигнуть исходного пространственного разрешения, будучи объединенным с основным срезом, как это показано на фиг. 31. Это количество срезов, конечно, является просто примером, и каждое изображение может быть иерархически разделено на любое надлежащее количество срезов.
В качестве альтернативы, параметр с такой масштабируемостью может представлять собой временнóе разрешение (временнýю масштабируемость), например, как это показано на фиг. 32. В случае этой временнóй масштабируемости, частота смены кадров различается между срезами. То есть, в этом случае, каждое изображение иерархически разделено на два среза, которые представляют собой основной срез с более низкой частотой смены кадров, чем частота смены кадров у исходного движущегося изображения, и срез расширения, который может достигнуть первоначальной частотой смены кадров, будучи объединен с основным срезом, как это показано на фиг. 32. Это количество срезов, конечно, является просто примером, и каждое изображение может быть иерархически разделено на любое надлежащее количество срезов.
Кроме того, параметр с такой масштабируемостью может представлять собой, например, отношение "сигнал-шум" (SNR-отношение) (масштабируемость SNR-отношения). В случае этой масштабируемости отношения "сигнал-шум", отношения "сигнал-шум" различаются между срезами. В частности, в этом случае, каждое изображение иерархически разделяется на два среза, которые представляют собой основной срез с более низким отношением "сигнал-шум", чем отношение "сигнал-шум" исходного изображения, и срез расширения, который может достигнуть исходного отношения "сигнал-шум", будучи объединен с основным срезом, как это показано на фиг. 33. Это количество срезов, конечно, является просто примером, и каждое изображение может быть иерархически разделено на любое надлежащее количество срезов.
-
В качестве параметра с масштабируемостью может, конечно, служить некоторый другой параметр, отличный от вышеупомянутых. Например, в качестве параметра с масштабируемостью может быть использована битовая глубина (масштабируемость битовой глубины). В случае этой масштабируемости битовой глубины, битовые глубины различаются между срезами. В этом случае, основной срез образован 8-битовым изображением, а срез расширения добавляется к основному срезу для того, чтобы получить, например 10битовое изображение.
Как альтернатива, в качестве параметра с масштабируемостью может быть использован формат сигнала цветности (масштабируемость сигнала цветности). В случае этой масштабируемости сигнала цветности, форматы сигнала цветности различаются между срезами. В этом случае, основной срез образован с составным изображением в формате 4:2:0, а срез расширения добавляется к основному срезу для того, чтобы получить составное изображение, например, в формате 4:2:2.
Устройство кодирования иерархических изображений
Фиг. 34 представляет собой схему, на которой показано устройство кодирования иерархических изображений, которое выполняет вышеописанное кодирование иерархического изображения. Как показано на фиг. 34, устройство 620 кодирования иерархических изображений включает в себя: кодирующий блок 621, кодирующий блок 622 и мультиплексор 623.
Кодирующий блок 621 кодирует изображение основного среза и генерирует закодированный поток данных изображения основного среза. Кодирующий блок 622 кодирует изображение неосновного среза и генерирует закодированный поток данных изображения неосновного среза. Мультиплексор 623 мультиплексирует закодированный поток данных изображения основного среза, сгенерированный в кодирующем блоке 621, и закодированный поток данных изображения неосновного среза, сгенерированный в кодирующем блоке 622, для того, чтобы сгенерировать закодированный поток данных иерархического изображения.
Кодирующее устройство 10 (смотри фиг. 13) может быть использовано в качестве кодирующего блока 621 и кодирующего блока 622, относящихся к устройству 620 кодирования иерархических изображений. То есть, эффективность кодирования при IntraBC может быть повышена. Кроме того, кодирующий блок 621 и кодирующий блок 622 могут управлять процессом фильтрования при внутрикадровом предсказании (или совместно использовать признаки и параметры), с использованием, этими двумя кодирующими блоками, одних и тех же признаков и параметров (таких как синтаксические элементы, относящиеся к обработке данных между изображениями). Таким образом, может быть предотвращено снижение эффективности кодирования.
Устройство декодирования иерархических изображений
Фиг. 35 представляет собой схему, на которой показано устройство декодирования иерархических изображений, которое выполняет вышеописанное декодирование иерархического изображения. Как показано на фиг. 35, устройство 630 декодирования иерархических изображений включает в себя: декодирующий блок 631, декодирующий блок 632 и мультиплексор 623.
Демультиплексор 631 осуществляет демультиплексирование закодированного потока данных иерархического изображения, сформированного посредством мультиплексирования закодированного потока данных изображения основного среза и закодированного потока данных изображения неосновного среза, и извлекает закодированный поток данных изображения основного среза и закодированный поток данных изображения неосновного среза. Декодирующий блок 632 декодирует закодированный поток данных изображения основного среза, извлеченный демультиплексором 631, и получает изображение основного среза. Декодирующий блок 633 декодирует закодированный поток данных изображения неосновного среза, извлеченный демультиплексором 631, и получает изображение неосновного среза.
Декодирующее устройство 110 (смотри фиг. 20) может быть использовано в качестве декодирующего блока 632 и декодирующего блока 633, относящихся к устройству 630 декодирования иерархических изображений. То есть, может быть повышена эффективность кодирования при IntraBC. Кроме того, декодирующий блок 612 и декодирующий блок 613 могут выполнять декодирование (или совместно использовать признаки и параметры), с использованием, этими двумя декодирующими блоками, одних и тех же признаков и параметров (таких как синтаксические элементы, относящиеся к обработке данных между изображениями). Таким образом, может быть предотвращено снижение эффективности кодирования.
Пятый вариант воплощения изобретения
Приводимая в качестве примера конфигурация телевизионного аппарата
На фиг. 36 схематично показана приводимая в качестве примера конфигурация телевизионного аппарата, в которому применено настоящее раскрываемое изобретение. Телевизионный аппарат 900 включает в себя: антенну 901, тюнер 902, демультиплексор 903, декодер 904, блок 905 обработки видеосигнала, блок 906 отображения, блок 907 обработки аудиосигнала, громкоговоритель 908, блок 909 внешнего интерфейса. Кроме того, телевизионный аппарат 900 включает в себя: управляющий блок 910, блок 911 пользовательского интерфейса и тому подобное.
Тюнер 902 выбирает из сигнала волн вещания, принимаемого в антенне 901, требуемый канал и выполняет демодуляцию. Получающийся в результате этого закодированный поток битов выводится в демультиплексор 903.
Демультиплексор 903 извлекает из закодированного потока битов пакеты видеоданных и аудиоданных телевизионной программы, подлежащей просмотру, и выводит данные извлеченных пакетов в декодер 904. Демультиплексор 903 также предоставляет управляющему блоку 910 пакет данных, таких как Электронный путеводитель по телевизионным программам (EPG-путеводитель). Следует отметить, что в случае выполнения скремблирования, демультиплексор или тому подобное устраняет скремблирование.
Декодер 904 выполняет процесс декодирования пакетов и выводит видеоданные, сгенерированные посредством процесса декодирования, в блок 905 обработки видеосигнала, а аудиоданные, сгенерированные посредством процесса декодирования, в блок 907 обработки аудиосигнала.
Блок 905 обработки видеосигнала подвергает видеоданные устранению шумов и обработке видеоданных и тому подобному в соответствии с пользовательскими настройками. Блок 905 обработки видеосигнала генерирует видеоданные телевизионной программы, подлежащие отображению на блоке 906 отображения, или генерирует данные изображений или тому подобное посредством процесса, основанного на приложении, предоставляемом через сеть. Блок 905 обработки видеосигнала также генерирует видеоданные для отображения экранного изображения меню или тому подобного для выбора элемента меню, и накладывает эти сгенерированные видеоданные на видеоданные телевизионной программы. В соответствии с видеоданными, сгенерированными этим способом, блок 905 обработки видеосигнала генерирует управляющий сигнал для управления устройством 906 отображения.
В соответствии с этим управляющим сигналом из блока 905 обработки видеосигнала, блок 906 отображения управляет устройством 906 отображения (например, элементом жидкокристаллического дисплея) таким образом, чтобы отображать видеоданные телевизионной программы.
Блок 907 обработки аудиосигнала подвергает аудиоданные предварительно заданной обработке, такой как устранение шумов, и выполняет в отношении обрабатываемых аудиоданных процесс цифро-аналогового преобразования и процесс усиления. Получающиеся в результате этого аудиоданные предоставляются, как аудиовыход, в громкоговоритель 908.
Блок 909 внешнего интерфейса представляет собой интерфейс для соединения с внешним устройством или сетью, и передает и принимает данные, такие как видеоданные и аудиоданные.
Блок 911 пользовательского интерфейса соединен с управляющим блоком 910. Блок 911 пользовательского интерфейса образован операционными переключателями, блоком приема сигнала дистанционного управления и тому подобным, и предоставляет управляющему блоку 910 операционный сигнал, соответствующий операции пользователя.
Управляющий блок 910 образован центральным процессором (CPU), памятью и тому подобным. Память хранит программу, подлежащую исполнению центральным процессором, разнообразные типы данных, необходимых центральному процессору для выполнения обработки данных, данные EPG (Электронного путеводителя по телевизионным программам), данные, полученные через сеть, и тому подобное. Программа, хранящаяся в памяти, считывается и исполняется центральным процессором в некоторое предварительно заданное время, такое как время включения телевизионного аппарата 900. Центральный процессор исполняет программу для того, чтобы управлять соответствующими компонентами таким образом, чтобы телевизионный аппарат 900 работал в соответствии с операцией пользователя.
Следует отметить, что в телевизионном аппарате 900 предусматривается шина 912 для соединения тюнера 902, демультиплексора 903, блока 905 обработки видеосигнала, блока 907 обработки аудиосигнала, блока 909 внешнего интерфейса и тому подобного с управляющим блоком 910.
В телевизионном аппарате, спроектированном так, как описано выше, декодер 904 имеет функции декодирующего устройства (способа декодирования) по этой заявке. Таким образом, в процессе декодирования закодированного потока данных может быть повышена эффективность кодирования при IntraBC.
Шестой вариант воплощения изобретения
Приводимая в качестве примера конфигурация портативного телефонного аппарата
На фиг. 37 схематично показана приводимая в качестве примера конфигурация портативного телефонного аппарата, в котором применено настоящее раскрываемое изобретение. Портативный телефонный аппарат 920 включает в себя: блок 922 связи, кодер-декодер 923 аудиоданных, блок 926 фотокамеры, блок 927 обработки изображения, блок 928 мультиплексирования/разделения, блок 929 записи/воспроизведения, блок 930 отображения и управляющий блок 931.
Кроме того, с блоком 922 связи соединена антенна 921, а с кодером-декодером 923 аудиоданных соединены громкоговоритель 924 и микрофон 925. Кроме того, с управляющим блоком 931 соединен операционный блок 932.
Портативный телефонный аппарат 920 выполняет различные типы операций, такие как передача и прием аудиосигналов, передача и прием электронной почты и данных изображения, ввод изображения и запись данных в различных типах режимов, таких как режим акустической связи и режим передачи данных.
В режиме акустической связи, аудиосигнал, сгенерированный в микрофоне 925 преобразуется в аудиоданные, и осуществляется "сжатие" этих данных в кодере-декодере 923 аудиоданных. Сжатые аудиоданные предоставляются блоку 922 связи. Блок 922 связи выполняет, в отношении этих аудиоданных, процесс модуляции процесс преобразования частоты и тому подобное для того, чтобы сгенерировать сигнал передачи. Блок 922 связи также подает через сигнал передачи на антенну 921, и сигнал передачи передается на базовую станцию (не показанную на чертеже). Блок 922 связи также усиливает сигнал, принятый в антенне 921, и выполняет процесс преобразования частоты, процесс демодуляции и тому подобное. Получившиеся в результате этого аудиоданные предоставляются кодеру-декодеру 923 аудиоданных. Кодер-декодер 923 аудиоданных разворачивает "сжатые" аудиоданные и преобразует аудиоданные в аналоговый аудиосигнал, выводимый на громкоговоритель 924.
В случае, при котором выполняется передача почтовых сообщений в режиме передачи данных, управляющий блок 931 принимает текстовые данные, который вводятся посредством выполнения операций в отношении операционного блока 932, и введенный текст отображается на блоке 930 отображения. В дополнение к этому, в соответствии с пользовательской командой или тому подобным, вводимой через операционный блок 932, управляющий блок 931 генерирует и предоставляет данные почты блоку 922 связи. Блок 922 связи выполняет, в отношении данных почты, процесс модуляции, процесс преобразования частоты и тому подобное, и передает получившийся в результате этого сигнал передачи через антенну 921. Блок 922 связи также усиливает сигнал, принятый в антенне 921, и выполняет процесс преобразования частоты, процесс демодуляции и тому подобное для того, чтобы разворачивать сжатые данные почтового сообщения. Эти данные почтового сообщения предоставляются блоку 930 отображения, и отображается содержимое почтового сообщения.
Следует отметить, что портативный телефонный аппарат 920 может заставлять блок 929 записи/воспроизведения сохранять принятые данные почтового сообщения на носителе информации. Этот носитель информации представляет собой перезаписываемый носитель информации. Например, носитель информации может представлять собой полупроводниковое запоминающее устройство, такое как оперативное запоминающее устройство (RAM) или внутренняя флэш-памяти, жесткий магнитный диск или съемный носитель информации, такой как магнитный диск, магнитооптический диск, оптический диск, память с универсальной последовательной шиной (USB) или карта памяти.
В случае, при котором в режиме передачи данных передаются данные изображений, данные изображений, сгенерированные в блоке 926 фотокамеры, предоставляются блоку 927 обработки изображения. Блок 927 обработки изображения выполняет в отношении данных изображения процесс кодирования для того, чтобы сгенерировать закодированные данные.
Блок 928 мультиплексирования/разделения осуществляет мультиплексирование закодированных данных, сгенерированных в блоке 927 обработки изображения, и аудиоданных, предоставленных из кодера-декодера 923 аудиоданных, в соответствии с некоторой предварительно заданной технологией, и предоставляет мультиплексированные данные блоку 922 связи. Блок 922 связи выполняет, в отношении этих мультиплексированных данных, процесс модуляции, процесс преобразования частоты и тому подобное, и передает получившийся в результате этого сигнал передачи через антенну 921. Блок 922 связи также усиливает сигнал, принятый в антенне 921, и выполняет процесс преобразования частоты, процесс демодуляции и тому подобное для того, чтобы разворачивать сжатые мультиплексированные данные. Эти мультиплексированные данные предоставляются блоку 928 мультиплексирования/разделения. Блок 928 мультиплексирования/разделения разделят мультиплексированные данные и предоставляет закодированные данные в блок 927 обработки изображения, а аудиоданные в кодер-декодер 923 аудиоданных. Блок 927 обработки изображения выполняет, в отношении этих закодированных данных, процесс декодирования для того, чтобы сгенерировать данные изображений. Эти данные изображений предоставляются блоку 930 отображения для того, чтобы он отображал принятые изображения. Кодер-декодер 923 аудиоданных преобразует аудиоданные в аналоговый аудиосигнал и предоставляет этот аналоговый аудиосигнал громкоговорителю 924, так, чтобы принятый звук выводился.
В портативном телефонном аппарате, спроектированном так, как описано выше, блок 927 обработки изображения имеет функции кодирующего устройства и декодирующего устройства (способа кодирования и способа декодирования) по этой заявке. Таким образом, эффективность кодирования при IntraBC может быть повышена.
Седьмой вариант воплощения изобретения
/
Приводимая в качестве примера конфигурация аппарата записивоспроизведения
На фиг. 38 схематично показана приводимая в качестве примера конфигурация аппарата записи/воспроизведения, в котором применено настоящее раскрываемое изобретение. Аппарат 940 записи/воспроизведения Аппарат 940 записи/воспроизведения, например, записывает аудиоданные и видеоданные принятой вещательной программы на носитель записи и предоставляет записанные данные пользователю во время, соответствующее команде, поступившей от пользователя. Аппарат 940 записи/воспроизведения может также получать аудиоданные и видеоданные, например, от другого устройства, и записывает эти данные на носитель записи. Кроме того, аппарат 940 записи/воспроизведения декодирует и выводит аудиоданные и видеоданные, записанные на носителе записи, так, чтобы устройство-монитор или тому подобное могло отображать изображения и выводило звук.
Аппарат 940 записи/воспроизведения включает в себя: тюнер 941, блок 942 внешнего интерфейса, кодер 943, блок 944 накопителя на жестком магнитном диске (HDD-накопителя), дисковод 945, переключатель 946, декодер 947, блок 948 отображения на экране (OSD-блок), управляющий блок 949 и блок 950 пользовательского интерфейса.
Тюнер 941 выбирает из сигналов вещания, принимаемого в антенне (не показанной на чертеже), требуемый канал. Тюнер 941 осуществляет демодуляцию принятого сигнала требуемого канала и выводит получающийся в результате этого закодированный поток битов в переключатель 946.
Блок 942 внешнего интерфейса образован, по меньшей мере, одним интерфейсом из числа: интерфейса IEEE 1394 (интерфейса стандарта 1394 Института инженеров по электротехнике и радиоэлектронике, (США)), сетевого интерфейса, USB-интерфейса (интерфейса Универсальной последовательной шины), интерфейса флэш-памяти и тому подобного. Блок 942 внешнего интерфейса представляет собой интерфейс для соединения с внешним устройством, сетью, картой памяти или тому подобным, и принимает данные, такие как видеоданные и аудиоданные, подлежащие записи, и тому подобное.
Кодер 943 выполняет предварительно заданное кодирование в отношении видеоданных и аудиоданных, которые предоставлены из блока 942 внешнего интерфейса и не закодированы, и выводит закодированный поток битов в переключатель 946.
Блок 944 накопителя на жестком магнитном диске записывает данные "контента" (информационно значимого содержимого), такие как видеоматериалы и звук, различные типы программ, другие данные и тому подобное, на внутренний жесткий магнитный диск, и считывает данные с жесткого магнитного диска во время воспроизведения или тому подобного.
Дисковод 945 выполняет запись и воспроизведение сигнала на устанавливаемый в него оптический диск. Этот оптический диск может представлять собой, например, DVD-диск (такой как DVD-Video), DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW) или диск Blu-ray (зарегистрированный товарный знак).
Переключатель 946, во время записи видеоинформации и аудиоинформации, осуществляет выбор потока битов, поступающего из тюнера 941 или кодера 943, и предоставляет этот закодированный поток битов либо в блок 944 накопителя на жестком магнитном диске, либо в дисковод 945. Также, во время воспроизведения видеоинформации и аудиоинформации переключатель 946 также предоставляет закодированный поток битов из блока 944 накопителя на жестком магнитном диске или дисковода 945 в декодер 947.
Декодер 947 выполняет процесс декодирования в отношении закодированного потока битов. Декодер 947 предоставляет видеоданные, сгенерированные при выполнении процесса декодирования, OSD-блоку 948. Декодер 947 также выводит аудиоданные, сгенерированные при выполнении процесса декодирования.
OSD-блок 948 генерирует видеоданные для отображения экранного изображение меню или тому подобного для выбора элемента меню и накладывает эти видеоданные на видеоданные, выводимые из декодера 947.
Блок 950 пользовательского интерфейса соединен с управляющим блоком 949. блок 950 пользовательского интерфейса образован операционными переключателями, блоком приема сигнала дистанционного управления и тому подобным и предоставляет операционный сигнал, соответствующий операции пользователя, в управляющий блок 949.
Управляющий блок 949 образован центральным процессором (CPU), памятью и тому подобным. Память хранит программу, подлежащую исполнению центральным процессором, разнообразные типы данных, необходимых центральному процессору для выполнения обработки данных. Программа, хранящаяся в памяти, считывается и исполняется центральным процессором в некоторое предварительно заданное время, такое как время включения аппарата 940 записи/воспроизведения. Центральный процессор исполняет программу для того, чтобы управлять соответствующими компонентами таким образом, чтобы аппарат 940 записи/воспроизведения работал в соответствии с операцией пользователя.
В аппарате записи/воспроизведения, спроектированном так, как описано выше, кодер 943 имеет функции кодирующего устройства (способа кодирования) по этой заявке. Таким образом, эффективность кодирования при IntraBC может быть повышена. Кроме того, декодер 947 также имеет функции декодирующего устройства (способа декодирования) по этой заявке. Таким образом, эффективность кодирования при IntraBC может быть повышена.
Восьмой вариант воплощения изобретения
Приводимая в качестве примера конфигурация аппарата формирования изображения
На фиг. 39 схематично показана приводимая в качестве примера конфигурация аппарата формирования изображений, в котором применено настоящее раскрываемое изобретение. Аппарат 960 формирования изображения снимает изображение объекта, и заставляет блок отображения отображать изображение объекта или записывает изображение, как данные изображения, на носитель записи.
Аппарат 960 формирования изображения включает в себя: оптический блок 961 , блок 962 формирования изображения, блок 963 обработки сигналов фотокамеры, блок 964 обработки данных изображения, блок 965 отображения, блок 966 внешнего интерфейса, блок 967 памяти, накопитель 968 с носителями данных, OSD-блок 969 и управляющий блок 970. В дополнение к этому, с управляющим блоком 970 соединен блок 971 пользовательского интерфейса. Кроме того, блок 964 обработки данных изображения, блок 966 внешнего интерфейса, блок 967 памяти, накопитель 968 с носителями данных, OSD-блок 969, управляющий блок 970 и тому подобное соединены друг с другом через шину 972.
Оптический блок 961 образован фокусирующей линзой, диафрагмой и тому подобным. Оптический блок 961 формирует оптическое изображение объекта на поверхности формирования изображения в блоке 962 формирования изображения. Блок 962 формирования изображения, образованный CCD-прибором или CMOS-датчиком изображения, генерирует, посредством фотоэлектрического преобразования, электрический сигнал в соответствии с оптическим изображением и предоставляет этот электрический сигнал блоку 963 обработки сигналов фотокамеры.
Блок 963 обработки сигналов фотокамеры выполняет, в отношении электрического сигнала, предоставляемого из блока 962 формирования изображения, разнообразные типы обработки сигналов фотокамеры, такие как коррекция излома, гамма-коррекция и цветовая коррекция. Блок 963 обработки сигналов фотокамеры предоставляет данные изображения, подвергшиеся обработке сигналов фотокамеры, блоку 964 обработки данных изображения.
Блок 964 обработки данных изображения выполняет, в отношении данных изображения, предоставленных из блока 963 обработки сигналов фотокамеры, процесс кодирования. Блок 964 обработки данных изображения предоставляет закодированные данные, сгенерированные посредством процесса кодирования, блоку 966 внешнего интерфейса и накопителю 968 с носителями данных. Блок 964 обработки данных изображения также выполняет процесс декодирования в отношении закодированных данных, предоставляемых из блока 966 внешнего интерфейса, и накопителя 968 с носителями данных. Блок 964 обработки данных изображения предоставляет данные изображения, сгенерированные посредством процесса декодирования блоку 965 отображения. Блок 964 обработки данных изображения также выполняет процесс для того, чтобы предоставить данные изображений, предоставленные из блока 963 обработки сигналов фотокамеры, блоку 965 отображения, или накладывает отображаемые данные, полученные из OSD-блока 969, на эти данные изображений, и предоставляет данные изображений блоку 965 отображения.
OSD-блок 969 генерирует экранное изображение меню, образованное символами, знаками или цифрами, или отображаемые данные, такие как пиктограммы, и выводит такие данные в блок 964 обработки данных изображения.
Блок 966 внешнего интерфейса образован, например, входными/выходными клеммами USB-шины и соединяется с печатающим устройством при выполнении печати изображения. В случае необходимости к блоку 966 внешнего интерфейса также накопитель, и в этот накопитель устанавливается съемный носитель информации, такой как магнитный диск или оптический диск, согласно тому, что требуется. Компьютерная программа, считанная с такого съемного диска, устанавливается, где необходимо. Кроме того, блок 966 внешнего интерфейса включает в себя сетевой интерфейс, соединенный с предварительно заданной сетью, такой как локальная сеть или сеть "Интернет". Управляющий блок 970 считывает закодированные данные с накопителя 968 с носителями данных в соответствии с командой, поступающей, например, из блока 971 пользовательского интерфейса и может предоставлять закодированные данных из блока 966 внешнего интерфейса другому аппарату, соединенному с ним через сеть. Управляющий блок 970 может также получать, через блок 966 внешнего интерфейса, закодированных данных или данные изображений, предоставляемые из другого аппарата через сеть, и предоставлять эти закодированные данные или данные изображений блоку 964 обработки данных изображения.
Носитель записи, приводимый в действие накопителем 968 с носителями данных, может представлять собой считываемый/перезаписываемый съемный носитель информации, такой как магнитный диск, магнитооптический диск, оптический диск или полупроводниковое запоминающее устройство. В дополнение к этому, носитель записи может относиться к любому типу съемного носителя информации и может представлять собой ленточное устройство, диск или карту памяти. Носитель записи может, конечно же, представлять собой бесконтактную карту с интегральной схемой (IC) или тому подобное.
В качестве альтернативы, накопитель 968 с носителями данных и носитель записи могут быть интегрированы, и могут быть выполнены с несъемным носителем информации, таким как внутренний накопитель на жёстких магнитных дисках или твердотельный накопитель (SSD-накопитель).
Управляющий блок 970 образован центральным процессором (CPU). Блок 967 памяти хранит программу, подлежащую исполнению управляющим блоком 970, разнообразные типы данных, необходимых управляющему блоку 970 для выполнения обработки данных, и тому подобное. Программа, хранящаяся в блоке 967 памяти, считывается и исполняется управляющим блоком 970 в некоторое предварительно заданное время, такое как время включения аппарата 960 формирования изображения. Управляющий блок 970 исполняет программу для того, чтобы управлять соответствующими компонентами таким образом, чтобы аппарат 960 формирования изображения работал в соответствии с операцией пользователя.
В аппарате формирования изображения, спроектированном так, как описано выше, блок 964 обработки данных изображения имеет функции кодирующего устройства и декодирующего устройства (способа кодирования и способа декодирования) по этой заявке. Таким образом, при кодировании или декодировании закодированного потока эффективность кодирования в IntraBC может быть повышена.
Приводимые в качестве примера варианты применения масштабируемого кодирования
Первая система
Далее описываются конкретные примеры использования масштабируемых закодированных данных, подвергнутых масштабируемому кодированию (иерархическому кодированию). Масштабируемое кодирование используется, например, для выбора данных, подлежащих передаче, как это показано в примере на фиг. 40.
В системе 1000 передачи данных, показанной на фиг. 40, сервер 1002 распределения считывает масштабируемые закодированные данные, хранящиеся в блоке 1001 хранения масштабируемых закодированных данных, и распределяет масштабируемые закодированные данные через сеть 1003 оконечному устройству, такому как персональный компьютер 1004, аудиовизуальное (AV) устройство 1005, планшетное устройство 1006 или портативное телефонное устройство 1007.
При этом, сервер 1002 распределения выбирает и передает закодированные данные надлежащего качества в соответствии с возможностями оконечного устройства, средой связи и тому подобным. Если сервер 1002 распределения передает данные излишне высокого качества, то оконечное устройство необязательно получает высококачественное изображение, и передача таких данных высокого качества могла бы вызвать задержку или переполнение. Кроме того, такие данные могли бы излишне занимать полосу частот связи, или излишне увеличить нагрузку на оконечное устройство. С другой стороны, если сервер 1002 распределения передает данные излишне низкого качества, то оконечное устройство могло бы не суметь получить изображение достаточно высокого качества. По этой причине, сервер 1002 распределения считывает масштабируемые закодированные данные, хранящиеся в блоке 1001 хранения масштабируемых закодированных данных, и передает эти считанные масштабируемые закодированные данные как закодированные данные качества, соответствующего возможностям оконечного устройства, среде связи и тому подобному.
Например, блок 1001 хранения масштабируемых закодированных данных хранит масштабируемые закодированные данные (BL + EL) 1011, которые были закодированы масштабируемым образом. Масштабируемые закодированные данные (BL + EL) 1011 представляют собой закодированные данные, содержащие основной срез и срез расширения и при декодировании могут предоставить как изображение основного среза, так и изображение среза расширения.
Сервер 1002 распределения выбирает подходящий срез в соответствии с возможностями оконечного устройства по передаче данных, средой связи и тому подобным, и считывает данные этого среза. Например, для персонального компьютера 1004 и планшетного устройства 1006, имеющих большие возможности по обработке данных, сервер 1002 распределения считывает из блока 1001 хранения масштабируемых закодированных данных высококачественные масштабируемые закодированные данные (BL + EL) 1011, и передает эти считанные масштабируемые закодированные данные (BL + EL) без изменения. С другой стороны для аудиовизуального устройства 1005 и портативного телефонного устройства 1007, имеющих малые возможности по обработке данных, сервер 1002 распределения, например, извлекает из масштабируемых закодированных данных (BL + EL) 1011 данные основного среза и передает эти извлеченные данные как масштабируемые закодированные данные (BL) 1012, которые представляют собой данные того же самого содержания, что и масштабируемые закодированные данные (BL + EL) 1011, но имеют более низкое качество, чем масштабируемые закодированные данные (BL + EL) 1011.
Поскольку масштабируемые закодированные данные используются таким образом, то количество данных можно с легкостью регулировать. Таким образом, можно предотвратить задержку или переполнение и можно предотвратить излишнее увеличение нагрузки на оконечное устройство или среду связи. Кроме того, масштабируемые закодированные данные (BL + EL) 1011 имеют сниженную избыточность между срезами, и, соответственно, количество данных можно сделать меньше, чем количество данных в случае, при котором закодированный срез каждого среза обрабатывается как отдельные данные. Таким образом, область памяти блока 1001 хранения масштабируемых закодированных данных может быть использована с более высокой эффективностью.
Следует отметить, что в качестве оконечных устройств могут быть использованы разнообразные устройства, такие как оконечные устройства: от персонального компьютера 1004, до портативного телефонного устройства 1007, и, следовательно, рабочие характеристики аппаратного обеспечения различаются между оконечными устройствами. Поскольку приложения, выполняемые оконечными устройствами, различаются, то и рабочие характеристики программного обеспечения этих приложений также различаются. Кроме того, сеть 1003, служащая в качестве среды связи, может представлять собой проводную или беспроводную сеть связи, такую как сеть "Интернет" или Локальная сеть (LAN), или любую систему сети связи, включающую в себя как проводную сеть, так и беспроводную сеть. У этих сетей возможности по передаче данных различаются. Возможности по передаче данных могли бы дополнительно различаться при других средствах связи и тому подобном.
Ввиду этого, перед началом передачи данных, сервер 1002 распределения может связаться с оконечным устройством, как пунктом назначения для передачи данных, и получить информацию, касающуюся возможностей этого оконечного устройства, таких как рабочие характеристики аппаратного обеспечения оконечного устройства и рабочие характеристики приложений (программного обеспечения), исполняемого оконечным устройством, и информацию, касающуюся среды связи, такую как ширина полоса пропускания, которая может быть использована сетью 1003. Далее, в соответствии с полученной здесь информацией, сервер 1002 распределения может выбрать надлежащий срез.
Следует отметить, что извлечение среза может быть выполнено в оконечном устройстве. Например, персональный компьютер 1004 может декодировать переданные масштабируемые закодированные данные (BL+EL) 1011 и отобразить изображение основного среза и изображение среза расширения. Кроме того, персональный компьютер 1004 может извлечь из переданных масштабируемых закодированных данных (BL+EL) 1011 масштабируемые закодированные данные (BL) 1012 основного среза и сохранить масштабируемые закодированные данные (BL) 1012, передать масштабируемые закодированные данные (BL) 1012 на другое устройство или декодировать масштабируемые закодированные данные (BL) 1012 для того, чтобы отобразить изображение основного среза.
Конечно же, количества блоков 1001 хранения масштабируемых закодированных данных, серверов 1002 распределения, сетей 1003 и оконечных устройств могут быть определены согласно тому, что требуется. Кроме того, в вышеописанном примере, сервер 1002 распределения передает данные на оконечные устройства. Однако, примеры использования этим не ограничены. Система 1000 передачи данных может представлять собой любую подходящую систему, которая при передаче закодированных данных, подвергнутых масштабируемому кодированию, на оконечное устройство, выбирает подходящий срез в соответствии с возможностями оконечного устройства, среды связи и тому подобным.
Вторая система
Масштабируемое кодирование также используется для передачи через средства связи так, как это показано в примере на фиг. 41.
В системе 1100 передачи данных, показанной на фиг. 41, вещательная станция 1101 передает масштабируемые закодированные данные (BL) 1121 основного среза посредством наземного вещания 1111. Вещательная станция 1101 также передает масштабируемые закодированные данные (EL) 1122 среза расширения (после пакетирования масштабируемых закодированных данных (EL) 1122) через сеть 1112, которая образована проводной и/или беспроводной сетью связи.
Оконечное устройство 1102 имеет функцию приема наземного вещания 1111 от вещательной станции 1101, и принимает масштабируемые закодированные данные (BL) 1121 основного среза, передаваемые посредством наземного вещания 1111. Кроме того, оконечное устройство 1102 имеет функцию связи для того, чтобы осуществлять связь через сеть 1112, и принимает масштабируемые закодированные данные (EL) 1122 среза расширения, передаваемые через сеть 1112.
В соответствии с командой пользователя или тому подобным, оконечное устройство 1102 получает изображение, декодируя масштабируемые закодированные данные (BL) 1121 основного среза, полученные посредством наземного вещания 1111, сохраняет масштабируемые закодированные данные (BL) 1121 или передает масштабируемые закодированные данные (BL) 1121 на другое устройство.
Кроме того, в соответствии с командой пользователя или тому подобным, оконечное устройство 1102 получает масштабируемые закодированные данные (BL + EL), объединяя масштабируемые закодированные данные (BL) 1121 основного среза, полученные посредством наземного вещания 1111, и масштабируемые закодированные данные (EL) 1122 среза расширения, полученные через сеть 1112, получает изображение среза расширения, декодируя масштабируемые закодированные данные (BL + EL), сохраняет масштабируемые закодированные данные (BL + EL) или передает масштабируемые закодированные данные (BL + EL) на другое устройство.
Как было описано выше, масштабируемые закодированные данные могут быть переданы, например, посредством отличного от других средства связи для каждого среза. Соответственно, нагрузка может быть распределена, и могут быть предотвращены задержка и переполнение.
Кроме того, средство связи, подлежащее использованию для передачи данных, может быть выбрано для каждого среза в соответствии с обстоятельствами. Например, масштабируемые закодированные данные (BL) 1121 основного среза с относительно большим количеством данных могут быть переданы посредством средства связи с большой шириной полосы пропускания, а масштабируемые закодированные данные (EL) 1122 среза расширения, имеющие относительно малое количество данных, могут быть переданы посредством средства связи с малой шириной полосы пропускания. Кроме того, средство связи для передачи масштабируемых закодированных данных (EL) 1122 среза расширения может переключаться между сетью 1112 и наземным вещанием 1111 в соответствии с шириной полосы пропускания, которая может использоваться сетью 1112. Конечно же, то же самое относится к данным любого другого среза.
Поскольку управление выполняется таким образом, то можно дополнительно снизить увеличение нагрузки, вызванное передачей данных.
Количество срезов, конечно, может быть определено согласно тому, что требуется, и количество средств связи, используемых для передачи данных, также может быть определено согласно тому, что требуется. Количество оконечных устройств 1102, как пунктов назначения для распределения данных, также может быть определено согласно тому, что требуется. Кроме того, в вышеописанном примере, вещание обеспечивается вещательной станцией 1101. Однако, примеры использования этим не ограничены. Система 1100 передачи данных может представлять собой любую подходящую систему, которая разделяет закодированные данные, подвергнутые масштабируемому кодированию, на срезы и выполняет передачу через две или более линий (связи).
Третья система
Масштабируемое кодирование также может быть использовано для хранения закодированных данных, как это показано в примере на фиг. 42.
В системе 1200 формирования изображения проиллюстрированной на фиг. 42, аппарат 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 формирования изображения может быть использована согласно тому, что требуется, и не ограничена камерой видеонаблюдения.
Другие примеры вариантов воплощения изобретения
Хотя выше были описаны примеры устройств, систем и тому подобного, в которых применено настоящее раскрываемое изобретение, настоящее раскрываемое изобретение ими не ограничено и может быть воплощено в виде любой структуры, устанавливаемой на вышеописанные устройства, или в виде устройств в этих системах, таких как процессор, служащий в качестве системной большой интегральной схемы (LSI) или тому подобного, модуль, использующий процессоры или тому подобное, блок, использующий модули или тому подобное, и комплект (или некоторая структура в устройстве), в котором к этому блоку добавлены другие функции.
Приводимая в качестве примера конфигурация видеокомплекта
Обратимся теперь к фиг. 43, на которой описывается приводимый в качестве примера случай, в котором настоящее раскрываемое изобретение воплощено как некоторый комплект. На фиг. 43 схематично показана приводимая в качестве примера конфигурация видеокомплекта, в котором применено настоящее раскрываемое изобретение.
В последние годы, электронные аппараты стали многофункциональными. В процессе разработки и производства электронных аппаратов, следует продавать и предусматривать не только одну структуру в таких электронных аппаратах, или производить структуру, имеющую одну функцию, но также производить один комплект, имеющий различные функции, объединяя структуры, имеющие функции, уместные во многих случаях в наши дни.
Видеокомплект 1300, показанный на фиг. 43, представляет собой такого рода многофункциональную структуру и сформирован посредством объединения устройства, имеющего функцию, связанную с кодированием и декодированием изображения (или кодированием или декодированием, или как кодированием, так и декодированием ), с другой функцией, связанной с этой функцией.
Как показано на фиг. 43, видеокомплект 1300 включает в себя модули, такие как видеомодуль 1311, внешнюю память 1312, модуль 1313 управления электропитанием, модуль 1314 предварительной обработки сигналов, и устройства, имеющие родственные функции, такие как средство 1321 обеспечения соединения, фотокамера 1322, датчик 1323.
Модуль образован посредством интегрирования функций компонентов, связанных друг с другом, и служит в качестве компонента, имеющего интегрированные функции. Хотя его конкретная физическая структура не ограничивается, модуль может быть сформирован посредством размещения элементы электронной схемы, таких как процессоры, резисторы и конденсаторы, имеющие соответствующие функции, на монтажной плате или тому подобном, и быть интегрированным на ней. В качестве альтернативы, новый модуль может быть сформирован посредством объединения модуля с другим модулем, процессором или тому подобным.
В приводимом в качестве примера случае, показанном на фиг. 43, видеомодуль 1311 посредством объединения структур, имеющих функции, относящиеся к обработке изображения, и включает в себя прикладной процессор, видеопроцессор, широкополосный модем 1333 и радиочастотный (RF) модуль 1334.
Процессор образован посредством интегрирования структуры, имеющей предварительно заданные функции, в полупроводниковую микросхему посредством технологии "система на микросхеме" (SoC), и некоторые процессоры именуются, например, как системные большие интегральные схемы (LSI). Эта структура, имеющая предварительно заданные функции, может представлять собой логическую схему (аппаратную структуру), может представлять собой структуру, включающую в себя CPU, ROM и RAM и программу (программную структуру), подлежащую исполнению посредством этих компонентов, или может представлять собой структуру, образованную посредством объединения этих двух структур. Например, процессор может включать в себя логическую схему, центральный процессор, постоянное запоминающее устройство и оперативное запоминающее устройство, одна из функций может быть реализована посредством логической схемы (аппаратной структуры), а другие функции могут быть выполнены посредством программы (программной структуры), исполняемой центральным процессором.
Прикладной процессор 1331, показанный на фиг. 43, представляет собой процессор, который исполняет приложение, связанное с обработкой изображения. Приложение, подлежащее исполнению прикладным процессором 1331, может не только выполнять арифметический процесс, но также, по мере необходимости, управлять структурами внутри и вне видеомодуля 1311, такими как видеопроцессор 1332, для того, чтобы выполнять предварительно заданные функции.
Видеопроцессор 1332 представляет собой процессор, имеющий функции, связанные с кодированием и декодированием изображения (кодированием и/или декодированием).
Широкополосный модем 1333 - представляет собой процессор (или модуль), который выполняет обработку данных, связанную с проводной или беспроводной (или проводной и беспроводной) широкополосной связью, осуществляемой по широкополосной сети, такой как сеть "Интернет", телефонная сеть общего пользования или тому подобное. Например, широкополосный модем 1333 может преобразовывать данные, подлежащие передаче, (цифровой сигнал) в аналоговый сигнал, выполняя в отношении этих данных цифровую модуляцию, и преобразует принятый аналоговый сигнал в данные (цифровой сигнал), осуществляя демодуляцию этого аналогового сигнала. Например, широкополосный модем 1333 может выполнять цифровую модуляцию/демодуляцию в отношении требуемой информации, такой как данные изображений, подлежащие обработке видеопроцессором 1332, поток данных, сгенерированный посредством кодирования данных изображения, прикладная программа и настроечные данные.
Радиочастотный модуль 1334 представляет собой модуль, который выполняет преобразования частоты, модуляцию/демодуляцию, усиление, процесс фильтрования или тому подобного в отношении радиочастотного (RF) сигнала, передаваемого и принимаемого через антенну. Например, радиочастотный модуль 1334 генерирует радиочастотный сигнал, выполняя преобразование частоты или тому подобное в отношении основополосного сигнала, сгенерированного широкополосным модемом 1333. Радиочастотный модуль 1334 также генерирует основополосный сигнал, выполняя преобразование частоты или тому подобное в отношении, например, радиочастотного сигнала, принимаемого через модуль 1314 предварительной обработки сигналов.
Следует отметить, что, как показано пунктирной линией 1341 на фиг. 43, прикладной процессор 1331 и видеопроцессор 1332 могут быть интегрированы и выполнены как один процессор.
Внешняя память 1312 представляет собой модуль, который предусмотрен вне видеомодуля 1311 и имеет запоминающее устройство, используемое видеомодулем 1311. Запоминающее устройство внешней памяти 1312 может быть воплощено посредством любой физической структуры. Обычно, запоминающее устройство часто используется для хранения большого объема данных, таких как данные изображений на покадровой основе. Следовательно, предпочтительно, чтобы запоминающее устройство было воплощено посредством относительно недорогого и имеющего большую емкость полупроводникового запоминающего устройства, такого как динамическое оперативное запоминающее устройство (DRAM).
Модуль 1313 управления электропитанием осуществляет администрирование и управление подачей электропитания видеомодулю 1311 (соответствующим структурам в видеомодуле 1311).
Модуль 1314 предварительной обработки сигналов собой модуль, который предоставляет радиочастотному модулю 1334 функции предварительной обработки сигналов (схемы на передающей и принимающей сторонах антенны). Как показано на фиг. 30, модуль 1314 предварительной обработки сигналов включает в себя, например, антенный блок 1351, фильтр 1352 и блок 1353 усиления.
Антенный блок 1351 включает в себя антенну, которая передает и принимает радиосигналы, и периферийные структуры вокруг антенны. Антенный блок 1351 передает сигнал, предоставляемый из блока 1353 усиления как радиосигнал, и предоставляет принятый радиосигнал, как электрический сигнал (радиочастотный сигнал), фильтру 1352. Фильтр 1352 выполняет, в отношении радиочастотного сигнала, принятого через антенный блок 1351 процесс фильтрования или тому подобное, и предоставляет обработанный радиочастотный сигнал радиочастотному модулю 1334. Блок 1353 усиления усиливает радиочастотный сигнал, предоставляемый из радиочастотного модуля 1334, и предоставляет усиленный радиочастотный сигнал антенному блоку 1351.
Средство 1321 обеспечения соединения представляет собой модуль, который имеет функцию, относящуюся к соединениям с внешним миром. Средство 1321 обеспечения соединения может иметь любой тип физической конфигурации. Например, средство 1321 обеспечения соединения включает в себя структуру, которая имеет функцию связи, совместимую со стандартами, отличными от стандартов связи, с которыми совместим широкополосный модем 1333, внешние входные/выходные клеммы или тому подобное.
Например, средство 1321 обеспечения соединения может включать в себя: модуль, имеющий функцию связи, совместимую со стандартами беспроводной связи, такими как Bluetooth (зарегистрированный товарный знак), IEEE 802.11 (стандарт 802.11 Института инженеров по электротехнике и электронике (США)) (такой как Wireless Fidelity ("Точность передачи при беспроводной связи") (Wi-Fi: зарегистрированный товарный знак), стандарт связи в ближнем поле (NFC-связи), или стандарт Ассоциации передачи данных в инфракрасном диапазоне (стандарт IrDA); антенну или тому подобное, которая передает и принимает сигналы, совместимые с этими стандартами. В качестве альтернативы, средство 1321 обеспечения соединения может включать в себя модуль, имеющий функцию связи, совместимую со стандартами кабельной связи, такими как Универсальная последовательная шина (USB) или Интерфейс для мультимедиа высокой четкости (HDMI-интерфейс) (зарегистрированный товарный знак), и клемму, совместимую с этим стандартом. Кроме того, средство 1321 обеспечения соединения, может иметь некоторую другую функцию передачи данных (сигнала) или тому подобного, такую как клемма аналогового ввода/вывода.
Средство 1321 обеспечения соединения может включать в себя устройство, которое представляет собой пункт назначения передачи данных (сигналов). Например, средство 1321 обеспечения соединения может включать в себя накопитель (включая сюда не только накопитель для съемных носителей информации, но также и жесткий магнитный диск, твердотельный накопитель (SSD-накопитель), сетевое запоминающее устройство (NAS) или тому подобное), который выполняет считывание данных с носителя записи, такого как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство, и запись данных на этот носитель записи. Средство 1321 обеспечения соединения может также включать в себя устройство для выведения изображения или звука (монитор, громкоговоритель или тому подобное).
Фотокамера 1322 представляет собой модуль, который имеет функцию формирования изображения объекта и получения данных изображения объекта. Данные изображений, полученные посредством формирования изображения, выполняемого фотокамерой 1322,предоставляются в видеопроцессор 1332 и кодируются.
Датчик 1323 представляет собой модуль, имеющий функцию датчика, такого как звуковой датчик, ультразвуковой датчик, оптический датчик, датчик освещенности, инфракрасный датчик, датчик изображения, датчик вращения, датчик угла поворота, датчик угловой скорости, датчик скорости, датчик ускорения, датчик наклона, датчик магнитной идентификации, датчик удара или температурный датчик. Данные, определенные датчиком 1323, предоставляются, например, в прикладной процессор 1331 и используются приложением.
Структуры, описанные выше как модули, могут быть воплощены как процессоры, а структуры, описанные выше как процессоры, могут быть воплощены как модули.
В видеокомплекте 1300, спроектированном так, как описано выше, настоящее раскрываемое изобретение может быть применено в видеопроцессоре 1332, как это будет описано позже. Таким образом, видеокомплект 1300 может быть воплощен как комплект, в котором применено настоящее раскрываемое изобретение.
Приводимая в качестве примера конфигурация видеопроцессора
На фиг. 44 схематично показана приводимая в качестве примера конфигурация видеопроцессора 1332 (смотри фиг. 43), в котором применено настоящее раскрываемое изобретение.
В приводимом в качестве примера случае, показанном на фиг. 44, видеопроцессор 1332 имеет функцию приема входных сигналов видеосигнала и аудиосигнала и кодирования этих сигналов в соответствии с некоторым предварительно заданным способом и функцию декодирования закодированных видеоданных и аудиоданных и выведения видеосигнала и аудиосигнала.
Как показано на фиг. 44, видеопроцессор 1332 включает в себя: блок 1401 обработки входного видеосигнала, первый блок 1402 увеличения/уменьшения изображения, второй блок 1403 увеличения/уменьшения изображения, блок 1404 обработки выходного видеосигнала, память 1405 кадров и блок 1406 управления памятью. Видеопроцессор 1332 также включает в себя: кодирующую/декодирующую машину 1407, буферы 1408A и 1408B элементарных потоков (ES) видеоданных и буферы 1409A и 1409B элементарных потоков (ES) аудиоданных. Кроме того, видеопроцессор 1332 включает в себя кодер 1410 аудиоданных, декодер 1411 аудиоданных, мультиплексор (MUX) 1412, демультиплексор (DMUX) 1413 и буфер 1414 потока данных.
Блок 1401 обработки входного видеосигнала получает входной видеосигнал, например, от средства 1321 обеспечения соединения (показанного на фиг. 43) и преобразует видеосигнал в цифровые данные изображения. Первый блок 1402 увеличения/уменьшения изображения выполняет, в отношении данных изображения, преобразование формата, процесс увеличения/уменьшения изображения или тому подобное. Второй блок 1403 увеличения/уменьшения изображения выполняет, в отношении данных изображения, процесс увеличения/уменьшения изображения в соответствии с форматом в пункте назначения вывода через блок 1404 обработки выходного видеосигнала, или, как и первый блок 1402 увеличения/уменьшения изображения, выполняет преобразование формата, процесс увеличения/уменьшения изображения или тому подобное. Блок 1404 обработки выходного видеосигнала выполняет, в отношении данных изображения, преобразование формата, преобразование в аналоговый сигнал или тому подобное и выводит результат в качестве воспроизведенного видеосигнала, например, в средство 1321 обеспечения соединения (показанное на фиг. 43).
Память 1305 кадров представляет собой память для данных изображения, которые используются совместно блоком 1401 обработки входного видеосигнала, первым блоком 1402 увеличения/уменьшения изображения, вторым блоком 1403 увеличения/уменьшения изображения, блоком 1404 обработки выходного видеосигнала и кодирующей/декодирующей машиной 1407. Память 1405 кадров спроектирована как полупроводниковое запоминающее устройство, такое как динамическое оперативное запоминающее устройство (DRAM).
Блок 1406 управления памятью принимает сигнал синхронизации от кодирующей/декодирующей машины 1407 и управляет доступом для записи и чтения в память 1405 кадров в соответствии с планом доступа к памяти 1405 кадров, записанным в таблицу 1406A администрирования доступа. Таблица 1406A администрирования доступа обновляется блоком 1406 управления памятью в соответствии с процессом, выполняемым кодирующей/декодирующей машиной 1407, первым блоком 1402 увеличения/уменьшения изображения, вторым блоком 1403 увеличения/уменьшения изображения и тому подобным.
Кодирующая/декодирующая машина 1407 выполняет процесс кодирования данных изображения и процесс декодирования потока видеоданных, который представляет собой данные, сгенерированные посредством кодирования данных изображения. Например, кодирующая/декодирующая машина 1407 кодирует данные изображений, считываемые из памяти 1405 кадров, и последовательно записывает закодированные данные изображений, как поток видеоданных, в буфер 1408А элементарного потока видеоданных. Кроме того, кодирующая/декодирующая машина 1407, например, последовательно считывает и декодирует поток видеоданных из буфера 1408B элементарного потока видеоданных, и последовательно записывает этот декодированный поток видеоданных, как данные изображений, в память 1405 кадров. При кодировании или декодировании, кодирующая/декодирующая машина 1407 использует память 1405 кадров как рабочую область. Кодирующая и декодирующая машина 1407 также выводит сигнал синхронизации в блок 1406 управления памятью тогда, когда, например, начинается процесс для макроблока.
Буфер 1408A элементарного потока видеоданных буферизует поток видеоданных, сгенерированный кодирующей/декодирующей машиной 1407, и предоставляет этот поток видеоданных мультиплексору (MUX) 1412. Буфер 1408 B элементарного потока видеоданных буферизует поток видеоданных, предоставляемый из демультиплексора (DMUX) 1413, и предоставляет этот поток видеоданных в кодирующую/декодирующую машину 1407.
Буфер 1409A элементарного потока аудиоданных буферизует поток аудиоданных, сгенерированный кодером 1410 аудиоданных, и предоставляет этот поток аудиоданных в мультиплексору (MUX) 1412. Буфер 1409B элементарного потока аудиоданных буферизует поток аудиоданных, предоставляемый из демультиплексора (DMUX) 1413, и предоставляет этот поток аудиоданных в декодер 1411 аудиоданных.
Кодер 1410 аудиоданных выполняет, например, цифровое преобразование в отношении аудиосигнала, введенного из средства 1321 обеспечения соединения (смотри фиг. 43) или тому подобного, и кодирует этот аудиосигнал в соответствии с некоторым предварительно заданным способом, таким как способ кодирования аудиоданных по стандарту MPEG (Экспертной группы по вопросам движущегося изображения) или способ кода аудиоданных номер 3 (AC3). Кодер 1410 аудиоданных последовательно записывает поток аудиоданных, который представляет собой данные, сгенерированные посредством кодирования аудиосигнала, в буфер 1409А элементарного потока аудиоданных. Декодер 1411 аудиоданных декодирует поток аудиоданных, предоставляемый из буфера 1409B элементарного потока аудиоданных, выполняет, например, преобразование в аналоговый сигнал и предоставляет результат, в качестве воспроизведенного аудиосигнала, в средство 1321 обеспечения соединения (показанное на фиг. 43) или тому подобное.
Мультиплексор (MUX) 1412 осуществляет мультиплексирование потока видеоданных и потока аудиоданных. В этом мультиплексировании может быть использован любой способ (то есть, для битового потока, генерируемого посредством мультиплексирования, может быть использован любой формат). В этом мультиплексировании, мультиплексор (MUX) 1412 может также добавлять к битовому потоку предварительно заданную информацию заголовка или тому подобное. То есть, мультиплексор (MUX) 1412 может, выполняя мультиплексирование, преобразовывать формат потока данных. Например, мультиплексор (MUX) 1412 осуществляет мультиплексирование потока видеоданных и потока аудиоданных таким образом, чтобы преобразовывать формат в транспортный поток данных, который представляет собой битовый поток в формате для передачи данных. Кроме того, мультиплексор (MUX) 1412 осуществляет мультиплексирование потока видеоданных и потока аудиоданных таким образом, чтобы выполнять преобразование в данные (файловые данные) в файловом формате, например для записи.
Демультиплексор (DMUX) 1413 осуществляет демультиплексирование битового потока, сгенерированного посредством мультиплексирования потока видеоданных и потока аудиоданных, способом, совместимым с мультиплексированием, выполняемым мультиплексором (MUX) 1412. В частности, демультиплексор (DMUX) 1413 извлекает из битового потока, считанного из буфера 1414 потока данных, поток видеоданных и поток аудиоданных (или разделяет поток видеоданных и поток аудиоданных). То есть, демультиплексор (DMUX) 1413 может преобразовывать формат потока данных, выполняя демультиплексирование (преобразование, обратное преобразованию, выполняемому мультиплексором (MUX) 1412). Например, демультиплексор (DMUX) 1413 получает, через буфер 1414 потока данных, транспортный поток данных, предоставляемый, например, из средства 1321 обеспечения соединения или широкополосного модема 1333 (оба из которых показаны на фиг. 43), и осуществляет демультиплексирование этого транспортного потока данных для того, чтобы преобразовать транспортный поток данных в поток видеоданных и поток аудиоданных. Кроме того, демультиплексор (DMUX) 1413 получает, через буфер 1414 потока данных, файловые данные, считываемые с любого типа носителя записи, например, через средство 1321 обеспечения соединения (показанное на фиг. 43), для того, чтобы преобразовать эти файловые данные в поток видеоданных и поток аудиоданных.
Буфер 1414 потока данных буферизует битовый поток. Например, буфер 1414 потока данных буферизует транспортный поток данных, предоставляемый из мультиплексора (MUX) 1412, и предоставляет транспортный поток данных, например, в средство 1321 обеспечения соединения или широкополосный модем 1333 (оба из которых показаны на фиг. 43) в некоторый предварительно заданный момент времени или в ответ на запрос или тому подобное, поступивший извне.
Кроме того, буфер 1414 потока данных буферизует файловые данные, предоставляемые из мультиплексора (MUX) 1412, и предоставляет файловые данные средству 1321 обеспечения соединения (показанному на фиг. 43) или тому подобное в некоторый предварительно заданный момент времени или в ответ на запрос или тому подобное, поступивший извне, например, для того, чтобы записать эти файловые данные на любой тип носителя записи.
Помимо этого, буфер 1414 потока данных буферизует транспортный поток данных, полученный, например, через средство 1321 обеспечения соединения или широкополосный модем 1333 (оба из которых показаны на фиг. 43), и предоставляет этот транспортный поток демультиплексору (DMUX) 1413 в некоторый предварительно заданный момент времени или в ответ на запрос или тому подобное, поступивший извне.
Кроме того, буфер 1414 потока данных буферизует файловые данные, считываемые, например, с любого типа носителя записи в средстве 1321 обеспечения соединения (показанном на фиг. 43), и предоставляет файловые данные демультиплексору (DMUX) 1413 в некоторый предварительно заданный момент времени или в ответ на запрос или тому подобное, поступивший извне.
/
/
/
/
Далее, описывается пример функционирования видеопроцессора 1332, имеющего вышеописанную конфигурацию. Например, видеосигнал, который вводится в видеопроцессор 1332 из средства 1321 обеспечения соединения (смотри фиг. 43) или тому подобного, преобразуется в цифровые данные изображения, в некотором предварительно заданном формате, таком как формат 4:2:2YCbCr, в блоке 1401 обработки входного видеосигнала, и эти цифровые данные изображения последовательно записываются в память 1405 кадров. Цифровые данные изображения также считываются в первый блок 1402 увеличения/уменьшения изображения или второй блок 1403 увеличения/уменьшения изображения, подвергаются преобразованию формата к некоторому предварительно заданному формату, такому как формат 4:2:0YCbCr, и процессу увеличения/уменьшения, и вновь записываются в память 1405 кадров. Эти данные изображения кодируются кодирующей/декодирующей машиной 1407, и записываются, в качестве потока видеоданных, в буфер 1408A элементарного потока видеоданных.
Между тем, аудиосигнал, который вводится в видеопроцессор 1332 из средства 1321 обеспечения соединения (смотри фиг. 43) или тому подобного, кодируется кодером 1410 аудиоданных и записывается, в качестве потока аудиоданных, в буфер 1409A элементарного потока аудиоданных.
Поток видеоданных в буфере 1408A элементарного потока видеоданных и поток аудиоданных в буфере 1409A элементарного потока аудиоданных считываются в мультиплексор (MUX) 1412, затем мультиплексируются и преобразуются в транспортный поток данных или файловые данные или тому подобное. Транспортный поток данных, сгенерированный мультиплексором (MUX) 1412 буферизуется буфером 1414 потока данных и затем выводится во внешнюю сеть, например, через средство 1321 обеспечения соединения или широкополосный модем 1333 (оба из которых показаны на фиг. 43). Кроме того, файловые данные, сгенерированные мультиплексором (MUX) 1412 буферизуются буфером 1414 потока данных, выводятся, например, в средство 1321 обеспечения соединения (показанное на фиг. 43) и записываются на любой тип носителя записи.
Между тем, транспортный поток данных, который вводится в видеопроцессор 1332 из внешней сети, например, через средство 1321 обеспечения соединения или широкополосный модем 1333 (оба из которых показаны на фиг. 43), буферизуется буфером 1414 потока данных и затем демультиплексируется демультиплексором (DMUX) 1413. Кроме того, файловые данные, которые считаны с любого типа носителя записи в средстве 1321 обеспечения соединения (показанном на фиг. 43) или тому подобном и введены в видеопроцессор 1332, буферизуются буфером 1414 потока данных и затем демультиплексируются демультиплексором (DMUX) 1413. То есть, транспортный поток данных или файловые данных, которые вводятся в видеопроцессор 1332, разделяются демультиплексором (DMUX) 1413 на поток видеоданных и поток аудиоданных.
/
Поток аудиоданных предоставляется декодеру 1411 аудиоданных через буфер 1409B элементарного потока аудиоданных и затем декодируется для воспроизведения аудиосигнала. Между тем, поток видеоданных записывается в буфер 1408B элементарного потока видеоданных, затем последовательно считывается и декодируется кодирующей/декодирующей машиной 1407 и записывается в память 1405 кадров. Декодированные данные изображений подвергаются процессу увеличения/уменьшения вторым блоком 1403 увеличения/уменьшения изображения и записываются в память 1405 кадров. Декодированные данные изображений затем считываются в блок 1404 обработки выходного видеосигнала, подвергаются преобразованию формата к некоторому предварительно заданному формату, такому как формат 4:2:2 YCb/Cr, и далее преобразуются в аналоговый сигнал, так, что видеосигнал воспроизводится и выводится.
В случае, при котором настоящее раскрываемое изобретение применяется в видеопроцессоре 1332, спроектированном так, как описано выше, настоящее раскрываемое изобретение, соответствующее любому из вышеописанных вариантов своего воплощения, может быть применено в кодирующей/декодирующей машине 1407. Таким образом, кодирующая/декодирующая машина 1407 может иметь функции кодирующего устройства и декодирующего устройства, соответствующих, например, первому варианту воплощения изобретения. При этом, в видеопроцессоре 1332 могут быть достигнуты результаты, аналогичные тем, что описаны выше со ссылкой на фиг. 1-25.
Следует отметить, что в кодирующей/декодирующей машине 1407, настоящее раскрываемое изобретение (или функции устройства кодирования изображений и устройства декодирования изображений, соответствующие одному из вышеописанных вариантов воплощения изобретения) может быть воплощено посредством аппаратного обеспечения, такого как логическая схема, может быть воплощено посредством программного обеспечения, такого как встроенная программа, или может быть воплощено посредством как аппаратного обеспечения, так и программного обеспечения.
Другая приводимая в качестве примера конфигурация видеопроцессора
На фиг. 45 схематично показана другая приводимая в качестве примера конфигурация видеопроцессора 1332 (смотри фиг. 43), в котором применено настоящее раскрываемое изобретение. В приводимом в качестве примера случае, показанном на фиг. 45, видеопроцессор 1332 имеет функцию кодирования и декодирования видеоданных в соответствии с некоторым предварительно заданным способом.
Если описать это более конкретно, то, как показано на фиг. 45, видеопроцессор 1332 включает в себя: управляющий блок 1511, интерфейс 1512 отображения, машину 1513 отображения, машину 1514 обработки изображений и внутреннюю память 1515. Видеопроцессор 1332 также включает в себя: машину 1516 кодера-декодера, интерфейс 1517 памяти, мультиплексор/демультиплексор (MUX/DMUX) 1518, сетевой интерфейс 1519 и видеоинтерфейс 1520.
Управляющий блок 1511 управляет операциями соответствующих обрабатывающих блоков в видеопроцессоре 1332, таких как интерфейс 1512 отображения, машина 1513 отображения, машина 1514 обработки изображений, машина 1516 кодера-декодера.
Как показано на фиг. 45, управляющий блок 1511 включает в себя, например, основной центральный процессор 1531, вспомогательный центральный процессор 1532 и системный контроллер 1533. Основной центральный процессор 1531 исполняет программу или тому подобное для управления операциями соответствующих обрабатывающих блоков в видеопроцессоре 1332. Основной центральный процессор 1531 генерирует управляющий сигнал в соответствии с этой программой или тому подобным, и предоставляет этот управляющий сигнал соответствующим обрабатывающим блокам (или управляет операциями соответствующих обрабатывающих блоков). Вспомогательный центральный процессор 1532 играет вспомогательную роль по отношению к основному центральному процессору 1531. Например, вспомогательный центральный процессор 1532 исполняет порожденный процесс, подпрограмму или тому подобное для программы или тому подобного, подлежащей исполнению основным центральным процессором 1531. Системный контроллер 1533 управляет операциями основного центрального процессора 1531 и вспомогательного центрального процессора 1532, такими как назначение программ, подлежащих исполнению основным центральным процессором 1531 и вспомогательным центральным процессором 1532.
Под управлением управляющего блока 1511, интерфейс 1512 отображения выводит данные изображений, например, в средство 1321 обеспечения соединения (показанное на фиг. 43). Например, интерфейс 1512 отображения преобразует цифровые данные изображений в аналоговый сигнал, и выводит данные изображений, в качестве воспроизведенного видеосигнала, или цифровые данные изображений без изменения, в устройство-монитор или тому подобное, относящееся к средству 1321 обеспечения соединения (показанное на фиг. 43).
Под управлением управляющего блока 1511, машина 1513 отображения выполняет, в отношении данных изображения, разнообразные процессы преобразования, такие как преобразование формата, преобразование размера и преобразование цветовой гаммы, так, чтобы они соответствовали спецификациям аппаратного обеспечения устройства-монитора или тому подобного, который будет отображать изображение.
Под управлением управляющего блока 1511, машина 1514 обработки изображений выполняет, в отношении данных изображения, предварительно заданную обработку изображения, такую как процесс фильтрования для улучшения качества изображения.
Внутренняя память 1515 представляет собой память, которая совместно используется машиной 1513 отображения, машиной 1514 обработки изображений и машиной 1516 кодера-декодера и предусматривается в видеопроцессоре 1332. Внутренняя память 1515 используется, например, для обмена данными между машиной 1513 отображения, машиной 1514 обработки изображений и машиной 1516 кодера-декодера. Внутренняя память 1515 сохраняет данные, предоставляемые из машины 1513 отображения, машины 1514 обработки изображений или машины 1516 кодера-декодера, и предоставляет данные в машину 1513 отображения, в машину 1514 обработки изображений или в машину 1516 кодера-декодера, когда это необходимо (например, в ответ на запрос запросом). Внутренняя память 1515 может быть образована любым запоминающим устройством. Обычно, внутреннюю память 1515 часто используют для хранения малых объемов данных, таких как данные изображения на поблочной основе или параметры. Следовательно, предпочтительно, чтобы внутренняя память 1515 была образована полупроводниковым запоминающим устройством, которое имеет относительно малую емкость (по сравнению с внешней памятью 1312), но имеет высокую скорость срабатывания, таким, как статическое оперативное запоминающее устройство (SRAM).
-
/
Машина 1516 кодера-декодера выполняет обработку данных, относящуюся к кодированию и декодированию данных изображения. Машина 1516 кодерадекодера совместима с любым способом кодированиядекодирования, и это количество совместимых способов кодирования/декодирования может представлять собой один или может представлять собой два или больше. Например, машина 1516 кодера-декодера имеет функцию кодера-декодера, совместимую со способами кодирования/декодирования, и может кодировать данные изображений или декодировать закодированных данные в соответствии со способом, выбранным из числа этих способов.
В примере, показанном на фиг. 45, машина 1516 кодера-декодера включает в себя, в качестве функциональных блоков для обработки данных, относящейся к кодеру-декодеру: блок 1541 MPEG-2 Video, блок 1542 AVC/H.264, блок 1543 HEVC/H.265, блок 1544 HEVC/H.265 (с возможностью масштабирования), блок 1545 HEVC/H.265 (для многопроекционных изображений) и блок 1551 MPEG-DASH.
/
Блок 1541 MPEG-2 Video представляет собой функциональный блок, который кодирует или декодирует данные изображений в соответствии со стандартом MPEG-2. Блок 1542 AVC/H.264 представляет собой функциональный блок, который кодирует или декодирует данные изображений в соответствии со стандартом AVC. Блок 1543 HEVC/H.265 представляет собой функциональный блок, который кодирует или декодирует данные изображений в соответствии со стандартом HEVC. Блок 1544 HEVCH.265 (с возможностью масштабирования) представляет собой функциональный блок, который выполняет, в отношении данных изображения, масштабируемое кодирование или масштабируемое декодирование в соответствии со стандартом HEVC. Блок 1545 HEVC/H.265 (для многопроекционных изображений) представляет собой функциональный блок, который выполняет, в отношении данных изображения, кодирование множественных видов или декодирование множественных видов в соответствии со стандартом HEVC.
-
Блок 1551 MPEGDASH представляет собой функциональный блок, который передает и принимает данные изображений по стандарту MPEG Динамическая адаптивная передача данных посредством протокола передачи гипертекста (MPEG-DASH). MPEG-DASH представляет собой технологию для проведения потоковой передачи видеоданных с использованием Протокола передачи гипертекста (HTTP-протокола), и одна из его характеристик, заключается в выборе и передаче, для каждого сегмента, надлежащей порции закодированных данных из числа предварительно заданных порций закодированных данных, имеющих разрешающие способности, отличающиеся друг от друга. Блок 1551 MPEG-DASH генерирует поток данных, совместимый с этими стандартами, и выполняет управление или тому подобное в отношении передачи этого потока данных. Что касается кодирования/декодирования данных изображения, то блок 1551 MPEG-DASH использует блоки: с блока 1541 MPEG-2 Video по блок 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 обеспечения соединения (оба из которых показаны на фиг. 43). Видеоинтерфейс 1520 представляет собой, например, интерфейс для средства 1321 обеспечения соединения и фотокамеры 1322 (оба из которых показаны на фиг. 43).
Далее, описывается пример функционирования этого видеопроцессора 1332. В случае, когда, например, из внешней сети через средство 1321 обеспечения соединения или широкополосный модем 1333 (оба из которых показаны на фиг. 43) принимается транспортный поток данных, этот транспортный поток данных предоставляется через сетевой интерфейс 1519 в мультиплексор/демультиплексор (MUX/DMUX) 1518, демультиплексируется и декодируется машиной 1516 кодера-декодера. Например, данные изображений, полученные посредством декодирования, выполняемого машиной 1516 кодера-декодера, подвергаются, машиной 1514 обработки изображений, предварительно заданной обработке изображения, подвергаются, машиной 1513 отображения, предварительно заданному преобразованию и предоставляются, через интерфейс 1512 отображения в средство 1321 обеспечения соединения (показанное на фиг. 43) или тому подобное, так что изображение отображается на мониторе. Кроме того, данные изображений, полученные посредством декодирования, выполненного машиной 1516 кодера-декодера, снова кодируются машиной 1516 кодера-декодера, мультиплексируются и преобразуются в файловые данные мультиплексором/демультиплексором (MUX/DMUX) 1518, выводятся, через видеоинтерфейс 1520, в средство 1321 обеспечения соединения (показанное на фиг. 43) или тому подобное и записываются на любой тип носителя записи.
Кроме того, файловые данные, представляющие собой закодированные данные, которые сгенерированы посредством кодирования данных изображения и считываются средством 1321 обеспечения соединения (показанным на фиг. 43) или тому подобным с носителя записи (не показанного на чертеже), предоставляются, через видеоинтерфейс 1520, в мультиплексор/демультиплексор (MUX/DMUX) 1518, подвергаются демультиплексированию и декодируются машиной 1516 кодера-декодера. Данные изображений, полученные посредством декодирования, выполняемого машиной 1516 кодера-декодера, подвергаются, машиной 1514 обработки изображений, предварительно заданной обработке изображения, подвергаются, машиной 1513 отображения, предварительно заданному преобразованию и предоставляются, через интерфейс 1512 отображения, в средство 1321 обеспечения соединения (показанное на фиг. 43) или тому подобное, так, что изображение отображается на мониторе. Кроме того, данные изображения, полученные посредством декодирования, выполненного машиной 1516 кодера-декодера, снова кодируются машиной 1516 кодера-декодера, мультиплексируются и преобразуются в транспортный поток данных мультиплексором/демультиплексором (MUX/DMUX) 1518, предоставляется, например, в средство 1321 обеспечения соединения или широкополосный модем 1333 (оба из которых показаны на фиг. 43) через сетевой интерфейс 1519 и передается на другой аппарат (не показанный на чертеже).
Следует отметить, что обмен данными изображения и другими данными между соответствующими обрабатывающими блоками в видеопроцессоре 1332 проводится с использованием, например, внутренней памяти 1515 или внешней памяти 1312. В дополнение к этому, модуль 1313 управления электропитанием управляет подачей электропитания, например, в управляющий блок 1511.
В случае, при котором настоящее раскрываемое изобретение применяется в видеопроцессоре 1332, спроектированном так, как описано выше, настоящее раскрываемое изобретение, соответствующее любому из вышеописанных вариантов своего воплощения, может быть применено в машине 1516 кодера-декодера. Таким образом, машина 1516 кодера-декодера может иметь функциональные блоки, которые образуют кодирующее устройство и декодирующее устройство, соответствующие, например, первому варианту воплощения изобретения. Кроме того, когда машина 1516 кодера-декодера спроектирована так, как сказано выше, в видеопроцессоре 1332 могут быть достигнуты результаты, аналогичные тем, что описаны выше со ссылкой на фиг. 1-25.
Следует отметить, что в машине 1516 кодера-декодера, настоящее раскрываемое изобретение (или функции устройства кодирования изображений и устройства декодирования изображений, соответствующие любому из вышеописанных вариантов воплощения изобретения) может быть воплощено посредством аппаратного обеспечения, такого как логическая схема, может быть воплощено посредством программного обеспечения, такого как встроенная программа, или может быть воплощено посредством как аппаратного обеспечения, так и программного обеспечения.
Хотя выше были описаны две приводимые в качестве примера конфигурации для видеопроцессора 1332, видеопроцессор 1332 может иметь любую подходящую конфигурацию, отличную от двух приводимых в качестве примера конфигураций, описанных выше. Кроме того, видеопроцессор 1332 может быть выполнен как одна полупроводниковая микросхема или может быть выполнен как полупроводниковые микросхемы. Например, видеопроцессор 1332 может быть выполнен как трехмерная многоярусная большая интегральная схема, в которой множество полупроводников сложены в виде стопки. В качестве альтернативы, видеопроцессор 1332 может быть образован большими интегральными схемами.
Приводимые в качестве примера варианты применения для аппаратов
Видеокомплект 1300 может быть включен в состав разнообразных аппаратов, которые обрабатывают данные изображений. Например, видеокомплект 1300 может быть включен в состав телевизионного аппарата 900 (показанного на фиг. 36), портативного телефонного аппарата 920 (показанного на фиг. 37), аппарата 940 записи/воспроизведения (который показан на фиг. 38), аппарата 960 формирования изображения (который показан на фиг. 39) и тому подобного. Когда видеокомплект 1300 включен в состав аппарата, в этом аппарате можно достигнуть результатов, аналогичных тем, что описаны выше со ссылкой на фиг. 1-25.
Видеокомплект 1300 может также быть включен, например, в состав оконечных устройств, таких как персональный компьютер 1004, аудиовизуальное устройство 1005, планшетное устройство 1006 и портативное телефонное устройство 1007 в системе 1000 передачи данных, показанной на фиг. 40, в состав вещательной станции 1101 и оконечного устройства 1102 в системе 1100 передачи данных, показанной на фиг. 41, в состав аппарата 1201 формирования изображения и устройства 1202 хранения масштабируемых закодированных данных в системе 1200 формирования изображения, показанной на фиг. 42. Когда видеокомплект 1300 включен в состав аппарата, в этом аппарате можно достигнуть результатов, аналогичных тем, что описаны выше со ссылкой на фиг. 1-25.
Следует отметить, что даже один из компонентов в вышеописанном видеокомплекте 1300 может быть воплощен как структура, в которой применено настоящее раскрываемое изобретение, если этот один компонент включает в себя видеопроцессор 1332. Например, видеопроцессор 1332 может быть воплощен как видеопроцессор, в котором применено настоящее раскрываемое изобретение. Кроме того, процессор, обозначенный вышеупомянутой пунктирной линией 1341, видеомодуль 1311 и тому подобное могут быть воплощены как процессор, модуль и тому подобное, в котором применено настоящее раскрываемое изобретение. Кроме того, видеомодуль 1311, внешняя память 1312, модуль 1313 управления электропитанием, модуль 1314 предварительной обработки сигналов, например, могут быть объединены в видеоблок 1361, в котором применено настоящее раскрываемое изобретение. В любой из вышеупомянутых структур, могут быть достигнуты результаты, аналогичные тем, что описаны выше со ссылкой на фиг. 1-25.
Таким образом, подобно видеокомплекту 1300, любая структура, включающая в себя видеопроцессор 1332 может быть включена в состав различных типов аппаратов, которые обрабатывают данные изображений. Например, видеопроцессор 1332, процессор, обозначенный пунктирной линией 1341, видеомодуль 1311 или видеоблок 1361 могут быть включены в состав телевизионного аппарата 900 (показанного на фиг. 36), портативного телефонного аппарата 920 (показанного на фиг. 37), аппарата 940 записи/воспроизведения (который показан на фиг. 38), аппарата 960 формирования изображения (который показан на фиг. 39), оконечных устройств, таких как персональный компьютер 1004, аудиовизуальное устройство 1005, планшетное устройство 1006 и портативное телефонное устройство 1007 в системе 1000 передачи данных, показанной на фиг. 40, в состав вещательной станции 1101 и оконечного устройства 1102 в системе 1100 передачи данных, показанной на фиг. 41, в состав аппарата 1201 формирования изображения и устройства 1202 хранения масштабируемых закодированных данных в системе 1200 формирования изображения, показанной на фиг. 42. Когда в состав аппарата включена одна из этих структур, в которой применено настоящее раскрываемое изобретение, в этом аппарате можно достигнуть результатов, аналогичных тем, что описаны выше со ссылкой на фиг. 1-25, как и в случае видеокомплекта 1300.
Следует отметить, что в этом описании были описаны примеры, в которых различные порции информации, такие как VPS и SPS мультиплексируются с закодированными данными и передаются от стороны кодирования на сторону декодирования. Однако, способ передачи информации не ограничен вышеприведенными примерами. Например, эти порции информации могут быть переданы или записаны как отдельные данные, ассоциативно связанные с закодированными данными, не будучи мультиплексированным с закодированными данными. При этом, термин "ассоциативно связывать" означает позволить изображениям (которые могут представлять собой часть изображений, такую как "срезы" или блоки), содержащимся в битовом потоке, быть связанными с этой информацией, соответствующей изображениям, во время декодирования. Таким образом, информация может быть передана через тракт передачи, отличный от тракта передачи для закодированных данных. В качестве альтернативы, эта информация может быть записана на носитель записи, отличный от носителя записи для закодированных данных, (или в другую область на том же самом носителе записи). Кроме того, эта информация и закодированные данные могут быть ассоциативно связаны друг с другом в любых элементах, таких как элементы, состоящие из нескольких кадров, одного кадра или части кадра.
В дополнение к этому, в этом описании, термин "система" означает собрание компонентов (аппаратов, модулей (частей) и тому подобного), и не все эти компоненты должна быть предусмотрены в одном и том же корпусе. Ввиду этого, аппараты, которые помещены в различные корпуса и соединены друг с другом через сеть, образуют систему, и один аппарат, имеющий модули, помещенные в один корпус, также представляет собой систему.
Полезные результаты, описанные в этом описании, являются просто примерами, и полезные результаты настоящей технологии ими не ограничены и могут включать в себя и другие результаты.
Следует отметить, что варианты воплощения настоящего раскрываемого изобретения не ограничены вышеописанными вариантами воплощения изобретения, и в них могут быть внесены разнообразные изменения, что не выходит за рамки объема настоящего раскрываемого изобретения.
Например, настоящее раскрываемое изобретение может также быть применено к кодирующему устройству и декодирующему устройству, которые осуществляют способ кодирования, отличный от HEVC, и могут выполнять пропуск преобразования.
Настоящее раскрываемое изобретение может также быть применено к кодирующему устройству и декодирующему устройству, которые используются для приема закодированного потока данных через сетевую среду, такую как спутниковое вещание, кабельное телевидение, сеть "Интернет", или портативный телефон, или для обработки закодированного потока данных на носителе информации, таком как оптический или магнитный диск или флэш-память.
Кроме того, настоящее раскрываемое изобретение может быть воплощено в "облачной" вычислительной конфигурации, в которой одна функция совместно используется устройствами через сеть, и обработка данных выполняется устройствами, взаимодействующими друг с другом.
В дополнение к этому, соответствующие этапы, описанные со ссылкой на вышеописанные блок-схемы алгоритма, могут быть выполнены одним устройством или могут быть разделены между устройствами.
В случае, при котором в состав одного этапа входит больше чем один процесс, процессы, входящие в состав этапа, могут быть выполнены одним устройством или могут быть разделены между устройствами.
Хотя предпочтительные варианты воплощения настоящего раскрываемого изобретения были описаны выше со ссылкой на прилагаемые чертежи, настоящее раскрываемое изобретение не ограничено этими примерами. Очевидно, что специалисты, которые имеют обычный уровень квалификации в данной области техники, могут произвести разнообразные изменения или модификации в рамках объема заявленной здесь технической сущности, и следует пониматься, что эти изменения или модификации находятся в пределах технического объема настоящего раскрываемого изобретения.
Следует отметить, что настоящая технология может также быть воплощена в структурах, описанных ниже.
(1) Устройство кодирования изображений, включающее в себя:
задающий блок для установки управляющей информации для управления предсказанием движения внутри экранного изображения, осуществляемым между "срезами";
кодирующий блок для кодирования изображения для генерирования битового потока в соответствии с управляющей информацией, установленной задающим блоком; и
передающий блок для передачи управляющей информации, установленной задающим блоком, и битового потока, сгенерированного кодирующим блоком.
(2) Устройство кодирования изображений по (1), в котором задающий блок выполнен с возможностью установки, в качестве указанной управляющей информации, признака разрешения ссылки, причем признак разрешения ссылки указывает разрешение на ссылку на результат декодирования текущего "среза" и "среза" перед текущим "срезом" в порядке растрового сканирования.
(3) Устройство кодирования изображений по (2), в котором задающий блок выполнен с возможностью установки указанного признака разрешения ссылки в наборе параметров изображения (PPS-наборе).
(4) Устройство кодирования изображений по любому из (1)-(3), в котором задающий блок выполнен с возможностью установки, в качестве указанной управляющей информации, параметра, причем параметр указывает количество предшествующих "срезов", имеющих результаты декодирования, на которые можно ссылаться.
(5) Устройство кодирования изображений по любому из (1)-(4), в котором задающий блок выполнен с возможностью установки, в качестве указанной управляющей информации, признака "включения/выключения", причем признак "включения/выключения" указывает на то, можно ли выполнять предсказание движения внутри экранного изображения, осуществляемое между "срезами".
(6) Устройство кодирования изображений по (5), в котором задающий блок выполнен с возможностью установки указанного признака "включения/выключения" в одном наборе из числа: набора параметров последовательности (SPS-набора) и набора параметров видеоданных (VPS-набора).
(7) Устройство кодирования изображений по любому из (2)-(6), в котором в случае, когда "включена" волновая параллельная обработка данных (WPP-обработка), задающий блок выполнен с возможностью ограничения области ссылки и установки признака разрешения ссылки.
(8) Устройство кодирования изображений по любому из (2)-(6), в котором в случае, когда "включено" разделение на элементы мозаики, задающий блок выполнен с возможностью установки признака разрешения ссылки.
(9) Устройство кодирования изображений по любому из (2)-(6), в котором в случае, когда "включен" SEI с набором элементов мозаики с временным ограничением движения (MCTS-SEI), задающий блок выполнен с возможностью установки признака разрешения ссылки в состояние "отключено".
(10) Способ кодирования изображения, осуществляемый устройством кодирования изображений,
причем способ кодирования изображения включает в себя этапы, на которых:
устанавливают управляющую информацию для управления предсказанием движения внутри экранного изображения, осуществляемым между "срезами";
кодируют изображение для генерирования битового потока в соответствии с указанной заданной управляющей информацией; и
передают указанную заданную управляющую информацию и указанный сгенерированный битовый поток.
(11) Устройство декодирования изображений, включающее в себя:
принимающий блок для приема битового потока, сгенерированного посредством кодирования изображения;
извлекающий блок для извлечения, из битового потока, принятого принимающим блоком, управляющую информацию, причем управляющая информация предназначена для управления предсказанием движения внутри экранного изображения, осуществляемым между "срезами"; и
декодирующий блок для декодирования битового потока, принятого принимающим блоком для генерирования изображения, с использованием управляющей информации, извлеченной извлекающим блоком.
(12) Устройство декодирования изображений по (11), в котором извлекающий блок выполнен с возможностью установки, в качестве указанной управляющей информации, признака разрешения ссылки, причем признак разрешения ссылки указывает разрешение на ссылку на результат декодирования текущего "среза" и "среза" перед текущим "срезом" в порядке растрового сканирования.
(13) Устройство декодирования изображений по (12), в котором извлекающий блок выполнен с возможностью извлечения указанного признак разрешения ссылки из набора параметров изображения (PPS-набора).
(14) Устройство декодирования изображений по любому из (11)-(13), в котором извлекающий блок выполнен с возможностью извлечения, в качестве указанной управляющей информации, параметра, причем параметр указывает количество предшествующих "срезов", имеющих результаты декодирования, на которые можно ссылаться.
(15) Устройство декодирования изображений по любому из (11)-(14), в котором извлекающий блок выполнен с возможностью извлечения, в качестве указанной управляющей информации, признака "включения/выключения", причем признак "включения/выключения" указывает на то, можно ли выполнять предсказание движения внутри экранного изображения, осуществляемое между "срезами".
(16) Устройство декодирования изображений по (15), в котором извлекающий блок выполнен с возможностью извлечения указанного признака "включения/выключения" из одного из наборов из: набора параметров последовательности (SPS-набора) и набора параметров видеоданных (VPS-набора).
(17) Устройство декодирования изображений по любому из (12)-(16), в котором в случае, когда "включена" волновая параллельная обработка данных (WPP-обработка), извлекающий блок выполнен с возможностью ограничения области ссылки и извлечения признака разрешения ссылки.
(18) Устройство декодирования изображений по любому из (12)-(16), в котором в случае, когда "включено" разделение на элементы мозаики, извлекающий блок выполнен с возможностью извлечения признака разрешения ссылки.
(19) Устройство декодирования изображений по любому из (12)-(16), в котором в случае, когда "включен" SEI c набором элементов мозаики с временным ограничением движения (MCTS-SEI), извлекающий блок выполнен с возможностью извлечения указанного признака разрешения ссылки, установленного в состояние "отключено".
(20) Способ декодирования изображения, осуществляемый устройством декодирования изображений,
причем способ декодирования изображения включает в себя этапы, на которых:
принимают битовый поток, сгенерированный посредством кодирования изображения;
извлекают, из указанного принятого битового потока, управляющую информацию, причем управляющая информация предназначена для управления предсказанием движения внутри экранного изображения, осуществляемым между "срезами"; и
декодируют указанный принятый битовый поток для генерирования изображения, с использованием указанной извлеченной управляющей информации.
Перечень ссылочных позиций
10 Кодирующее устройство
11 Задающий блок
12 Кодирующий блок
13 Передающий блок
46 Блок внутрикадрового предсказания
110 Декодирующее устройство
111 Принимающий блок
112 Извлекающий блок
113 Декодирующий блок
143 Блок внутрикадрового предсказания