Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к способам кодирования изображений, способам декодирования изображений, устройствам кодирования изображений и устройствам декодирования изображений и, в частности, к способу кодирования изображений и способу декодирования изображений для кодирования со сжатием видеосигнала, с использованием компенсации движения.
Уровень техники
[0002] В традиционных способах кодирования изображений, представленных стандартом ITU-T, именуемым H.26x, и стандартом ISO/IEC, именуемым MPEG-x, экран делится на заранее определенные единицы и кодируется в единицах разделения. Например, H.264/MPEG-4 AVC (см., например, NPL 1) обрабатывает экран (изображение) в единицах 16 пикселей по горизонтали × 16 пикселей по вертикали, именуемых макроблоками. Для компенсации движения, макроблок делится на прямоугольные блоки (минимум 4 пикселя по горизонтали × 4 пикселя по вертикали), и компенсация движения осуществляется с использованием вектора движения, разного для каждого из разделенных блоков.
Ссылочные источники
Непатентный источник
[0003] [NPL 1] ISO/IEC 14496-10 "MPEG-4 Part 10 Advanced Video Coding"
Раскрытие изобретения
Техническая проблема
[0004] В вышеописанных традиционных способах, однако, два типа информации: информация, указывающая тип макроблока; и информация, указывающая тип подмакроблока передаются как информация, связанная с разделением в макроблоке, для передачи разделенной формы. Здесь, информация, указывающая тип макроблока, указывает, что размер макроблока является любым из, например, 16 пикселей по горизонтали × 16 пикселей по вертикали, 16 пикселей по горизонтали × 8 пикселей по вертикали, 8 пикселей по горизонтали × 16 пикселей по вертикали, и 8 пикселей по горизонтали × 8 пикселей по вертикали. Информация, указывающая тип подмакроблока, указывает, что, когда макроблок относится к типу 8 пикселей по горизонтали × 8 пикселей по вертикали, размер подмакроблока является любым из 8 пикселей по горизонтали × 8 пикселей по вертикали, 8 пикселей по горизонтали × 4 пикселя по вертикали, 4 пикселя по горизонтали × 8 пикселей по вертикали, и 4 пикселя по горизонтали × 4 пикселя по вертикали.
[0005] В описанном выше способе передачи информации разделения, увеличивающееся количество типоразмеров блока требует иерархической отправки разделенных форм. Таким образом, возникает проблема невозможности эффективной передачи информации разделения.
[0006] Настоящее изобретение решает вышеозначенную проблему и ставит своей задачей обеспечение способа кодирования видеосигнала или способа декодирования видеосигнала, которые позволяют эффективно кодировать или декодировать информацию разделения, когда экран делится на различные блоки, и кодировать и декодировать блоки.
Решение проблемы
[0007] Для решения поставленной задачи, способ кодирования изображений согласно одному варианту осуществления настоящего изобретения представляет собой способ кодирования изображений для разделения изображения на единицы обработки и кодирования разделенного изображения для генерации кодовой последовательности, причем способ кодирования изображений включает в себя этапы, на которых: определяют шаблон разделения для иерархического разделения изображения по порядку, начиная с наибольшей единицы из единиц обработки в иерархическом формате; генерируют информацию разделения, указывающую шаблон разделения; и кодируют информацию разделения; в котором информация разделения включает в себя информацию максимальной используемой глубины иерархии, указывающую максимальную используемую глубину иерархии, которая представляет собой глубину иерархии самой глубокой единицы обработки из единиц обработки, включенных в шаблон разделения.
[0008] Согласно вышеописанной конфигурации, способ кодирования изображений согласно одному варианту осуществления настоящего изобретения позволяет уменьшать объем кодирования, используемый для разделения экрана на различные блоки и кодирования блоков, и, таким образом, позволяет эффективно кодировать информацию разделения.
[0009] Кроме того, информация разделения может дополнительно включать в себя информацию минимальной используемой глубины иерархии, указывающую минимальную используемую глубину иерархии, которая представляет собой глубину иерархии наиболее мелкой единицы обработки из единиц обработки, включенных в шаблон разделения.
[0010] Кроме того, при генерации информации разделения, информация разделения, которая включает в себя информацию минимальной используемой глубины иерархии можно генерировать, когда максимальная используемая глубина иерархии является наименьшей единицей обработки из единиц обработки.
[0011] Согласно вышеописанной конфигурации, способ кодирования изображений согласно одному варианту осуществления настоящего изобретения позволяет уменьшить увеличенный объем кодирования.
[0012] Кроме того, при генерации информации разделения, при наличии возможности задавать для каждой из единиц обработки, с использованием максимальной используемой глубины иерархии, подлежит ли единица обработки дальнейшему разделению, информацию, указывающую шаблон разделения единицы обработки, можно удалять из информации разделения, и при кодировании информации разделения, можно кодировать информацию разделения, из которой удалена информация.
[0013] Согласно вышеописанной конфигурации, способ кодирования изображений согласно одному варианту осуществления настоящего изобретения позволяет уменьшить увеличенный объем кодирования.
[0014] Кроме того, при генерации информации разделения, при наличии возможности задавать для каждой из единиц обработки, с использованием минимальной используемой глубины иерархии, подлежит ли единица обработки дальнейшему разделению, информацию, указывающую шаблон разделения единицы обработки, можно удалять из информации разделения, и при кодировании информации разделения, можно кодировать информацию разделения, из которой удалена информация.
[0015] Согласно вышеописанной конфигурации, способ кодирования изображений согласно одному варианту осуществления настоящего изобретения позволяет уменьшить увеличенный объем кодирования.
[0016] Кроме того, способ кодирования изображений может дополнительно включать в себя этап, на котором оценивают прогнозируемый шаблон разделения, который является прогнозируемым значением шаблона разделения текущей единицы обработки, с использованием шаблона разделения кодированной единицы обработки, в котором, при определении шаблона разделения, шаблон разделения текущей единицы обработки можно определять с использованием прогнозируемого шаблона разделения.
[0017] Согласно вышеописанной конфигурации, способ кодирования изображений согласно одному варианту осуществления настоящего изобретения позволяет уменьшить увеличенный объем кодирования.
[0018] Кроме того, способ кодирования изображений может дополнительно включать в себя этап, на котором вычисляют разность между шаблоном разделения и прогнозируемым шаблоном разделения, в котором, при кодировании информации разделения, можно кодировать информацию разделения, которая включает в себя разность.
[0019] Согласно вышеописанной конфигурации, способ кодирования изображений согласно одному варианту осуществления настоящего изобретения позволяет уменьшить увеличенный объем кодирования.
[0020] Кроме того, при оценивании прогнозируемого шаблона разделения, шаблон разделения текущей единицы обработки можно оценивать с использованием шаблона разделения единицы обработки, которая соседствует с текущей единицей обработки и находится в том же кадре, что и текущая единица обработки.
[0021] Кроме того, при оценивании прогнозируемого шаблона разделения, шаблон разделения текущей единицы обработки можно оценивать с использованием шаблона разделения единицы обработки, включенной в другой временной кадр.
[0022] Кроме того, способ декодирования изображений согласно одному варианту осуществления настоящего изобретения представляет собой способ декодирования изображений для декодирования кодовой последовательности, генерируемой способом кодирования изображений, причем способ декодирования изображений включает в себя этапы, на которых: декодируют информацию разделения, включенную в кодовую последовательность; и определяют шаблон разделения из декодированной информации разделения.
[0023] Согласно вышеописанной конфигурации, способ декодирования изображений согласно одному варианту осуществления настоящего изобретения позволяет эффективно декодировать информацию разделения.
[0024] Следует отметить, что настоящее изобретение можно реализовать не только посредством, как таковых, способа кодирования изображений и способа декодирования изображений, но и посредством устройства кодирования изображений и устройства декодирования изображений, характерные этапы которых, в качестве блоков, включены в способ кодирования изображений и способ декодирования изображений, соответственно, или посредством программы, предписывающей компьютеру выполнять такие характерные этапы. Кроме того, такую программу можно, конечно, распространять, хранящейся на нетранзиторном машиночитаемом носителе данных, например CD-ROM, и через среду передачи, например интернет.
[0025] Кроме того, настоящее изобретение можно реализовать посредством полупроводниковой интегральной схемы (БИС), которая полностью или частично обеспечивает функциональные возможности таких устройства кодирования изображений и устройства декодирования изображений, или, как таковых, устройства кодирования изображений и устройства декодирования изображений.
Преимущества изобретения
[0026] Исходя из вышесказанного, настоящее изобретение может обеспечивать способ кодирования видеосигнала или способ декодирования видеосигнала, которые позволяют эффективно кодировать или декодировать информацию разделения, когда экран делится на различные блоки, и кодировать или декодировать блоки.
Краткое описание чертежей
[0027] Фиг.1 - блок-схема устройства кодирования изображений согласно варианту осуществления 1 настоящего изобретения.
Фиг.2A - схема, демонстрирующая иерархию блоков согласно варианту осуществления 1 настоящего изобретения.
Фиг.2B - схема, демонстрирующая пример иерархии блоков согласно варианту осуществления 1 настоящего изобретения.
Фиг.2C - схема, демонстрирующая пример иерархии блоков согласно варианту осуществления 1 настоящего изобретения.
Фиг.3A - схема, демонстрирующая пример шаблона разделения блока согласно варианту осуществления 1 настоящего изобретения.
Фиг.3B - схема, демонстрирующая пример информации разделения блока согласно варианту осуществления 1 настоящего изобретения.
Фиг.3C - схема, демонстрирующая пример информации разделения блока согласно варианту осуществления 1 настоящего изобретения.
Фиг.4 - блок-схема операций, демонстрирующая действие блока управления разделением согласно варианту осуществления 1 настоящего изобретения.
Фиг.5 - блок-схема операций, демонстрирующая действие блока описания информации разделения согласно варианту осуществления 1 настоящего изобретения.
Фиг.6A - схема, демонстрирующая пример шаблона разделения и информации разделения согласно варианту осуществления 1 настоящего изобретения.
Фиг.6B - схема, демонстрирующая пример шаблона разделения и информации разделения согласно варианту осуществления 1 настоящего изобретения.
Фиг.6C - схема, демонстрирующая пример шаблона разделения и информации разделения согласно варианту осуществления 1 настоящего изобретения.
Фиг.7 - блок-схема устройства декодирования изображений согласно варианту осуществления 2 настоящего изобретения.
Фиг.8 - блок-схема операций, демонстрирующая действия блока управления разделением и блока реконструкции информации разделения согласно варианту осуществления 2 настоящего изобретения.
Фиг.9A - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9B - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9C - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9D - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9E - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9F - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9G - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9H - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9I - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9J - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9K - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.9L - схема, демонстрирующая пример прогнозирования шаблона разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.10 - блок-схема операций, демонстрирующая процедуру для прогнозирования способа разделения, с использованием информации разделения на окружающих блоках согласно варианту осуществления 3 настоящего изобретения.
Фиг.11A - схема, демонстрирующая способ прогнозирования, в котором блок описания информации разделения и блок реконструкции информации разделения согласно варианту осуществления 3 настоящего изобретения используют информацию разделения на кодированном кадре.
Фиг.11B - схема, демонстрирующая способ, в котором блок описания информации разделения и блок реконструкции информации разделения согласно варианту осуществления 3 настоящего изобретения используют информацию разделения кодированного кадра.
Фиг.12A - блок-схема операций, демонстрирующая действие блока описания информации разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.12B - блок-схема операций, демонстрирующая действие блока реконструкции информации разделения согласно варианту осуществления 3 настоящего изобретения.
Фиг.13 - схема, демонстрирующая структуру данных информации разделения согласно варианту осуществления 4 настоящего изобретения.
Фиг.14A - схема, демонстрирующая пример шаблона разделения с использованием множества форм блока согласно варианту осуществления 5 настоящего изобретения.
Фиг.14B - схема, демонстрирующая пример информации разделения согласно варианту осуществления 5 настоящего изобретения, когда используется множество форм блока.
Фиг.14C - схема, демонстрирующая пример информации разделения согласно варианту осуществления 5 настоящего изобретения, когда используется множество форм блока.
Фиг.15A - схема, демонстрирующая способ согласно варианту осуществления 5 настоящего изобретения для уменьшения объема избыточной информации разделения.
Фиг.15B - схема, демонстрирующая способ согласно варианту осуществления 5 настоящего изобретения для уменьшения объема избыточной информации разделения.
Фиг.15C - схема, демонстрирующая способ согласно варианту осуществления 5 настоящего изобретения для уменьшения объема избыточной информации разделения.
Фиг.16 - общая конфигурация системы предоставления контента для реализации услуг распространения контента.
Фиг.17 - общая конфигурация системы цифрового вещания.
Фиг.18 - блок-схема, иллюстрирующая пример конфигурации телевизора.
Фиг.19 - блок-схема, иллюстрирующая пример конфигурации блока воспроизведения/записи информации, который считывает и записывает информацию с и на носитель записи, который представляет собой оптический диск.
Фиг.20 - пример конфигурации носителя записи, который представляет собой оптический диск.
Фиг.21A - пример сотового телефона.
Фиг.21B - блок-схема, демонстрирующая пример конфигурации сотового телефона.
Фиг.22 иллюстрирует структуру мультиплексированных данных.
Фиг.23 схематически показывает мультиплексирование каждого потока в мультиплексированные данные.
Фиг.24 более подробно показывает, как видеопоток сохраняется в потоке пакетов PES.
Фиг.25 - структура пакетов TS и исходных пакетов в мультиплексированных данных.
Фиг.26 - структура данных PMT.
Фиг.27 показывает внутреннюю структуру информации мультиплексированных данных.
Фиг.28 показывает внутреннюю структуру информации атрибутов потока.
Фиг.29 показывает этапы для идентификации видеоданных.
Фиг.30 - пример конфигурации интегральной схемы для реализации способа кодирования движущихся изображений и способа декодирования движущихся изображений согласно каждому из вариантов осуществления.
Фиг.31 - конфигурация для переключения между частотами возбуждения.
Фиг.32 показывает этапы для идентификации видеоданных и переключения между частотами возбуждения.
Фиг.33 - пример поисковой таблицы, в которой стандарты видеоданных связаны с частотами возбуждения.
Фиг.34A - схема, демонстрирующая пример конфигурации для обобществления модуля блока обработки сигнала.
Фиг.34B - схема, демонстрирующая другой пример конфигурации для обобществления модуля блока обработки сигнала.
Описание вариантов осуществления изобретения
[0028] Далее, со ссылкой на прилагаемые чертежи, будут описаны варианты осуществления настоящего изобретения. Следует отметить, что каждый из описанных ниже вариантов осуществления является всего лишь предпочтительной иллюстрацией настоящего изобретения. Значения, формы, материалы, компоненты, расположение или форма соединения между компонентами, этапы и порядок выполнения этапов являются всего лишь иллюстративными, и не призваны ограничивать настоящее изобретение. Настоящее изобретение ограничено объемом нижеследующей формулы изобретения. Таким образом, среди компонентов описанных ниже вариантов осуществления, компоненты, не упомянутые в независимых пунктах формулы изобретения, выражающих основной принцип настоящего изобретения, не обязательно определяют настоящее изобретение, но будут описаны как компоненты для предпочтительных вариантов осуществления.
[0029] Вариант осуществления 1
На фиг.1 показана блок-схема устройства 100 кодирования изображений, использующего способ кодирования изображений согласно варианту осуществления 1 настоящего изобретения. Устройство 100 кодирования изображений, показанное на фиг.1, делит сигнал 120 входного изображения на единицы обработки (блоки) и кодирует разделенное изображение для генерации кодовой последовательности 140.
[0030] Устройство 100 кодирования изображений включает в себя блок 101 разности, блок 102 преобразования, блок 103 квантования, блок 104 обратного квантования, блок 105 обратного преобразования, сумматор 106, блок 107 прогнозирования, блок 108 управления кодированием, блок 109 кодирования по сериям переменной длины, блок 110 разделения, блок 111 управления разделением и блок 112 описания информации разделения. Следует отметить, что каждый из блока 110 разделения и блока 107 прогнозирования может включать в себя память.
[0031] Сигнал 120 входного изображения поступает на блок 110 разделения. Блок 110 разделения делит сигнал 120 входного изображения, на основании сигнала 129 управления делением, для генерации разделенных сигналов 121 изображения, и выводит сгенерированные разделенные сигналы 121 изображения на блок 101 разности и блок 107 прогнозирования.
[0032] Блок 111 управления разделением определяет шаблон разделения, указывающий, как изображение должно быть разделено блоком 110 разделения. Здесь, единицы обработки (блоки) представлены в иерархическом формате, и блок 111 управления разделением определяет шаблон разделения, в котором сигнал 120 входного изображения делится иерархически, по порядку, начиная с наибольшей единицы из единиц обработки.
[0033] Примеры шаблона разделения, определенного блоком 111 управления разделением, будут описаны со ссылкой на фиг.2A, 2B и 2C и фиг.3A, 3B и 3C.
[0034] Как показано на фиг.2A-2C, шаблон разделения, определенный блоком 111 управления разделением представлен глубиной иерархии (Depth). Как показано на фиг.2A, неразделенный блок можно представить как Depth=0, блоки, полученные разделением неразделенного блока на четыре, можно представить как Depth=1, и последующие блоки можно представить таким же образом. На Фиг.2B показан пример размеров блока и глубин иерархии, когда наибольший размер блока составляет 64 пикселя по горизонтали × 64 пикселя по вертикали. На Фиг.2C показан пример размеров блока и глубин иерархии, когда наибольший размер блока составляет 128 пикселей по горизонтали × 128 пикселей по вертикали.
[0035] Шаблон разделения будет более подробно описан со ссылкой на фиг.3A-3C.
[0036] Аналогично случаю, показанному на фиг.2B, фиг.3A демонстрирует пример, где наибольший размер блока составляет 64 пикселя по горизонтали × 64 пикселя по вертикали, и наименьший размер блока составляет 8 пикселей по горизонтали × 8 пикселей по вертикали. Блок делится способом, в котором по очереди задано следующее: следует ли разделять блок наибольшего размера; и, если да, следует ли далее разделять блоки, полученные разделением наибольшего блока. Шаблон разделения блока можно представить иерархией (Dn_type) для каждой глубины иерархии. Здесь, предполагается, что n это значение глубины иерархии (Depth).
[0037] На фиг.3B показан пример, где шаблон разделения, показанный на фиг.3A, представлен информацией режима иерархического разделения. Здесь, для простоты, предусмотрено два типа информации режима иерархического разделения, включающие в себя тип, указывающий, что блок не разделен (Dn_type=0), и тип, указывающий, что блок разделен на четыре (Dn_type=1). Следует отметить, что, далее, глубины иерархии, представленные согласно Depth=0, 1, 2 и 3, будут описаны как глубины иерархии 0, 1, 2 и 3, соответственно.
[0038] Сначала делится наибольший блок и, таким образом, имеет D0_type=1. На глубине иерархии 1 (Depth=1) для следующего размера блока, информация режима иерархического разделения представляется следующим образом: зигзагообразно сверху вниз, неразделенный блок (D1_type=0); разделенный блок (D1_type=1); неразделенный блок (D1_type=0); и разделенный блок (D1_type=1). При этом информация режима иерархического разделения на следующей глубине иерархии 2 (Depth=2) не требуется для неразделенных блоков. Затем такое же представление используется также для глубины иерархии 2 (Depth=2) для размера блока, подлежащего дальнейшему разделению. В частности, четыре блока на глубине иерархии 2 (Depth=2), полученные разделением блока на глубине иерархии 1, который является первым блоком, который имеет D1_type=1, все являются неразделенными (D2_type=0). Что касается четырех блоков, полученных разделением последнего блока, который имеет D1_type=1, первый блок можно представить как разделенный (D2_type=1), и остальные три блока можно представить как неразделенные (D2_type=0).
[0039] На фиг.3C показан пример, в котором представление на фиг.3B упрощено и совместно представлено. Другими словами, на фиг.3C показан пример, в котором информация режима иерархического разделения для каждого размера блока совместно представлена как информация (тип) режима разделения. Следует отметить, что в этом примере, информация режима разделения, аналогично информации режима иерархического разделения, является двоичной информацией, одна из которых указывает, что блок разделен (1), а другая указывает, что блок не разделен (0). Таким образом, информационное наполнение шаблона разделения, показанного на фиг.3A составляет 13 битов. Затем блок 111 управления разделением выводит информацию 130 разделения, указывающую шаблон разделения, показанный на фиг.3C, на блок 112 описания информации разделения.
[0040] Далее, со ссылкой на фиг.4, будет описано действие блока 111 управления разделением для определения вышеупомянутого шаблона разделения.
[0041] Информация стоимости (стоимость кодирования), необходимая для определения шаблона разделения, вычисляется, например, следующим образом.
[0042] Блок 110 разделения делит сигнал 120 входного изображения до размера, нужного для вычисления стоимости, для генерации разделенных сигналов 121 изображения, и выводит сгенерированные разделенные сигналы 121 изображения на блок 107 прогнозирования.
[0043] Блок 107 прогнозирования генерирует сигнал 128 прогнозируемого изображения, на основании сигнала 127 декодированного изображения, который был кодирован и декодирован, и режима прогнозирования, полученного от блока 108 управления кодированием. Здесь, блок 108 управления кодированием задает для блока 107 прогнозирования режим прогнозирования из, по меньшей мере, одного возможного режима прогнозирования, который заранее определен. Примеры возможного режима прогнозирования включают в себя режим, в котором прогнозируемые пиксели генерируются путем экстраполяции соседних пикселей на экране в заранее определенном направлении, и режим, в котором прогнозируемые пиксели генерируются с использованием пикселей, имеющих высокую корреляцию с другим кодированным и декодированным кадром.
[0044] Кроме того, блок 107 прогнозирования вычисляет стоимость кодирования, которая представляет собой взвешенную сумму информации прогнозирования и корреляционной информации. Здесь, информация прогнозирования является информацией, необходимой для генерации сигнала 128 прогнозируемого изображения, например, направленной информацией для экстраполяции соседних пикселей на экране и информацией относительной позиции (информацией вектора движения) с другим кадром. Корреляционная информация указывает степень корреляции между разделенным сигналом 121 изображения и сигналом 128 прогнозируемого изображения, и является, например, суммой абсолютных значений разностей между разделенным сигналом 121 изображения и сигналом 128 прогнозируемого изображения. Блок 107 прогнозирования вычисляет в качестве стоимости кодирования, например, значение, указанное ниже (уравнение 1), которое известно как функция стоимости.
[0045] Кроме того, блок 107 прогнозирования вычисляет стоимости кодирования, и выводит на блок 101 разности сигнал 128 прогнозируемого изображения, который был спрогнозирован в режиме прогнозирования, который дает наименьшую стоимость кодирования из всех возможных режимов прогнозирования. Блок 107 прогнозирования выводит режим прогнозирования, информацию прогнозирования и стоимость кодирования на данный момент времени на блок 108 управления кодированием. Блок 108 управления кодированием выводит вышеописанную стоимость кодирования на блок 111 управления разделением, и выводит сигнал 132 управления кодированием, который включает в себя режим прогнозирования и информацию прогнозирования, на блок 109 кодирования по сериям переменной длины.
[0046] Например, лагранжиан J стоимости, представленный в уравнении 1, будет использоваться как вышеупомянутая функция RD стоимости.
[0047] (уравнение 1)
[0048] где R - объем кодирования, который используется для кодирования разностного изображения (информации 124 квантованных коэффициентов преобразования), режима прогнозирования и информации прогнозирования, D - искажение объема кодирования, и λ - множитель Лагранжа, вычисленный согласно параметру QP квантования, который используется для кодирования. Блок 108 управления кодированием выбирает режим прогнозирования, который дает наименьшую функцию J стоимости, в качестве режима прогнозирования, используемого для кодирования.
[0049] Следует отметить, что для значений R и D можно использовать подстановочные значения. Например, в качестве объема R кодирования можно использовать только информацию режима прогнозирования, и в качестве искажения объема кодирования можно использовать сумму абсолютных значений разности между разделенным сигналом 121 изображения и сигналом 128 прогнозируемого изображения.
[0050] На фиг.4 показана блок-схема операций, демонстрирующая действие блока 111 управления разделением.
[0051] Здесь, для простоты, показан пример, где наибольший размер блока составляет 64 пикселя по горизонтали × 64 пикселя по вертикали, наименьший размер блока составляет 8 пикселей по горизонтали × 8 пикселей по вертикали, и информация режима разделения указывает два типа, включающие в себя тип, указывающий, что блок разделен (1), и тип, указывающий, что блок не разделен (0), как показано на фиг.2B и фиг.3B.
[0052] Блок 111 управления разделением получает стоимости кодирования разделенных сигналов 121 изображения, полученных блоком 110 разделения, делящим сигнал 120 входного изображения на блоки размером 64 пикселя по горизонтали × 64 пикселя по вертикали. Затем блок 111 управления разделением устанавливает значения полученных стоимостей кодирования в качестве значений стоимости (D0_cost) блоков размером 64 пикселя по горизонтали × 64 пикселя по вертикали (глубина иерархии 0) (этап S401).
[0053] Затем блок 111 управления разделением инициализирует (устанавливает равным 0) "D1_total_cost", указывающий полную стоимость кодирования для следующей глубины иерархии 1 (Depth=1) (этап S402).
[0054] Затем блок 111 управления разделением осуществляет итерацию (обработку, осуществляемую между этапами S403 и S424) на всех четырех блоках (четырех блоках в этом примере) на глубине иерархии 1 (Depth=1), полученный разделением блока размером 64 пикселя по горизонтали × 64 пикселя по вертикали. Другими словами, блок 111 управления разделением повторяет этапы обработки S403-S424, последовательно устанавливая счетчик D1_loop на 0, 1, 2 и 3.
[0055] Затем блок 111 управления разделением получает стоимость кодирования сигнала размером 32 пикселя по горизонтали × 32 пикселя по вертикали, полученного дальнейшим разделением блока на глубине иерархии 0. Затем блок 111 управления разделением устанавливает полученную стоимость кодирования в качестве значения стоимости (D1_cost [D1_loop]) блока размером 32 пикселя по горизонтали × 32 пикселя по вертикали, расположенного в позиции, указанной счетчиком D1_loop (этап S404). Следует отметить, что порядок обработки, когда счетчик Dn_loop=0 … 3, может быть одинаковым при кодировании и декодировании. Пример порядка обработки включает в себя зигзагообразную последовательность сверху вниз.
[0056] Затем блок 111 управления разделением инициализирует (устанавливает равным 0) "D2_total_cost", указывающий полную стоимость кодирования для следующей глубины иерархии 2 (Depth=2) (этап S405).
[0057] Затем блок 111 управления разделением осуществляет итерацию (обработку, осуществляемую между этапами S406 и S418) на всех блоках (четырех блоках в этом примере) на глубине иерархии 2 (Depth=2), полученных разделением блока на более высоком уровне иерархии 1 (Depth=1) в D1_loop. Другими словами, блок 111 управления разделением повторяет этапы обработки S406-S418, последовательно устанавливая счетчик D2_loop на 0, 1, 2 и 3.
[0058] Затем блок 111 управления разделением получает стоимость кодирования сигнала размером 16 пикселей по горизонтали × 16 пикселей по вертикали, полученного дальнейшим разделением блоков на глубине иерархии 1. Затем блок 111 управления разделением устанавливает полученную стоимость кодирования в качестве значения стоимости (D2_cost [D2_loop]) блока размером 16 пикселей по горизонтали × 16 пикселей по вертикали, расположенного в позиции, указанной счетчиком D2_loop (этап S407).
[0059] Аналогично, блок 111 управления разделением инициализирует (устанавливает равным 0) "D3_total_cost", указывающий полную стоимость кодирования для следующей глубины иерархии 3 (Depth=3) (этап S408).
[0060] Затем блок 111 управления разделением осуществляет итерацию (обработку, осуществляемую между этапами S409 и S412) на всех блоках (четырех блоках в этом примере) на глубине иерархии 3 (Depth=3), полученных разделением блоков на более высоком уровне иерархии 2 (Depth=2) в D2_loop. Другими словами, блок 111 управления разделением повторяет этапы обработки S409-S412, последовательно устанавливая счетчик D3_loop на 0, 1, 2 и 3.
[0061] Затем блок 111 управления разделением получает стоимость кодирования сигнала размером 8 пикселей по горизонтали × 8 пикселей по вертикали, полученного дальнейшим разделением блока на глубине иерархии 2. Затем блок 111 управления разделением устанавливает полученную стоимость кодирования в качестве значения стоимости (D3_cost [D3_loop]) блока размером 8 пикселей по горизонтали × 8 пикселей по вертикали, расположенного в позиции, указанной счетчиком D3_loop (этап S410). Затем блок 111 управления разделением прибавляет D3_cost [D3_loop] к "D3_total_cost" (этап S411).
[0062] Затем, если D3_loop продолжает отсчет, блок 111 управления разделением увеличивает значение счетчика D3_loop на 1 и осуществляет итерацию. По окончании отсчета D3_loop, блок 111 управления разделением переходит к следующему этапу (этапу S412).
[0063] Затем блок 111 управления разделением сравнивает вычисленный "D3_total_cost" и вычисленный "D2_cost [D2_loop]", описанный выше (этап S413). Когда "D2_cost [D2_loop]" больше "D3_total_cost" (Да на этапе S413), разделенные блоки имеют меньшую стоимость кодирования, чем неразделенные блоки. Таким образом, блок 111 управления разделением устанавливает "D2type=1", указывающий разделенный блок (этап S414), и прибавляет значение "D3_total_cost" к "D2_total_cost" (этап S415).
[0064] С другой стороны, когда "D2_cost [D2_loop]" меньше, чем "D3_total_cost" (Нет на этапе S413), неразделенные блоки имеют меньшую стоимость кодирования, чем разделенные блоки. Таким образом, блок 111 управления разделением устанавливает "D2type=0", указывающий неразделенный блок (этап S416), и прибавляет значение "D2_cost [D2_loop]" к "D2_total_cost" (этап S417).
[0065] Затем, если D2_loop продолжает отсчет, блок 111 управления разделением увеличивает значение счетчика D3_loop на 1 и осуществляет итерацию. По окончании отсчета D2_loop, блок 111 управления разделением переходит к следующему этапу (этапу S418).
[0066] Затем блок 111 управления разделением сравнивает вычисленный "D2_total_cost" и вычисленный "D1_cost [D1_loop]", описанный выше (этап S419). Когда "D1_cost [D1_loop]" больше "D2_total_cost" (Да на этапе S419), разделенные блоки имеют меньшую стоимость кодирования, чем неразделенные блоки. Таким образом, блок 111 управления разделением устанавливает "D1type=1", указывающий разделенный блок (этап S420), и прибавляет значение "D2_total_cost" к "D1_total_cost" (этап S421).
[0067] С другой стороны, когда "D1_cost [D1_loop]" больше "D2_total_cost" (Нет на этапе S419), неразделенные блоки имеют меньшую стоимость кодирования, чем разделенные блоки. Таким образом, блок 111 управления разделением устанавливает "D1type=0", указывающий неразделенный блок (этап S422), и прибавляет значение "D1_cost [D1_loop]" к "D1_total_cost" (этап S423).
[0068] Затем, если D1_loop продолжает отсчет, блок 111 управления разделением увеличивает значение счетчика D1_loop на 1 и осуществляет итерацию. По окончании отсчета D1_loop, блок 111 управления разделением переходит к следующему этапу (этапу S424).
[0069] Наконец, блок 111 управления разделением сравнивает вычисленный "D1_total_cost" и вычисленный "D0_cost", описанный выше (этап S425). Когда "D0_cost" больше "D1_total_cost" (Да на этапе S425), разделенные блоки имеют меньшую стоимость кодирования, чем неразделенные блоки. Таким образом, блок 111 управления разделением устанавливает "D0type=1", указывающий разделенный блок (этап S426).
[0070] С другой стороны, когда "D0_cost" меньше, чем "D1_total_cost" (Нет на этапе S425), неразделенные блоки имеют меньшую стоимость кодирования, чем разделенные блоки. Таким образом, блок 111 управления разделением устанавливает "D0type=0", указывающий неразделенный блок (этап S427).
[0071] Согласно вышеописанной процедуре, блок 111 управления разделением может определять шаблон разделения, который дает наименьшую стоимость кодирования.
[0072] Следует отметить, что способ для определения шаблона разделения описан в порядке примера, и настоящее изобретение этим не ограничивается. Например, блок 111 управления разделением может анализировать разделенный сигнал 121 изображения, полученный блоком 110 разделения, разделять область с высокой дисперсией распределения пиксельных значений разделенного сигнала 121 изображения на малые блоки, и разделять область согласованного распределения пикселей разделенного сигнала 121 изображения на большие блоки. Это позволяет уменьшить размер схемы устройства 100 кодирования изображений.
[0073] Альтернативно, согласно другому способу для определения шаблона разделения, блок 111 управления разделением может определять шаблон разделения способом, определенным на основании результата разделения окружающих кодированных и декодированных блоков. Альтернативно, согласно другому способу для определения шаблона разделения, блок 111 управления разделением может определять шаблон разделения, используя результат разделения блоков в другом кодированном и декодированном кадре. Детали этих способов будут описаны со ссылкой на вариант осуществления 3.
[0074] Далее, со ссылкой на фиг.5, будет описан способ, в котором блок 112 описания информации разделения описывает информацию 131 разделения.
[0075] Блок 111 управления разделением выводит информацию 130 разделения, указывающую шаблон разделения, определенный вышеописанным способом, на блок 112 описания информации разделения. Здесь, информация 130 разделения описана вышеописанной информацией режима иерархического разделения или информацией режима разделения. Блок 112 описания информации разделения генерирует, из информации 130 разделения, информацию 131 разделения, подлежащую кодированию блоком 109 кодирования по сериям переменной длины.
[0076] Сначала блок 112 описания информации разделения получает информацию режима иерархического разделения (от D0type до D2type) для каждой глубины иерархии, включенной в информацию 130 разделения (этап S501).
[0077] Когда D0type равен 0 (Да на этапе S502), наибольший блок на глубине иерархии (Depth=0) не разделен. Таким образом, блок 112 описания информации разделения устанавливает переменную "used_max_depth" на "0", что указывает Depth=0 (этап S503). Здесь, переменная "used_max_depth" это информация максимальной используемой глубины иерархии, указывающая максимальную используемую глубину иерархии. Максимальная используемая глубина иерархии указывает наибольшую глубину из глубин иерархии, используемых в блоке наибольшего размера. Другими словами, максимальная используемая глубина иерархии это глубина иерархии наиболее глубокого блока из разделенных блоков.
[0078] Когда D0type не равен 0 (Нет на этапе S502), блок 112 описания информации разделения определяет, равны ли 0 все D1type (этап S504). Когда все D1type равны 0 (Да на этапе S504), блоки на глубине иерархии 1 (Depth=1) не разделены. Таким образом, блок 112 описания информации разделения устанавливает переменную "used_max_depth" на "1", что указывает Depth=1 (этап S505).
[0079] С другой стороны, когда, по меньшей мере, один D1type не равен 0 (Нет на этапе S504), блок 112 описания информации разделения определяет, равны ли 0 все D2type (этап S506). Когда все D2type равны 0 (Да на этапе S506), блоки на глубине иерархии 2 (Depth=2) не разделены. Таким образом, блок 112 описания информации разделения устанавливает переменную "used_max_depth" на "2", что указывает Depth=2 (этап S507).
[0080] С другой стороны, когда, по меньшей мере, один D2type не равен 0 (Нет на этапе S506), разделение осуществляется до наименьшего размера блока. Таким образом, блок 112 описания информации разделения устанавливает переменную "used_max_depth" на "3" что указывает Depth=3 (этап S508).
[0081] Затем блок 112 описания информации разделения определяет, установлен ли на 0, по меньшей мере, один D1type (этап S509). Когда, по меньшей мере, один D1type устанавливается на 0 (Да на этапе S509), это указывает наличие неразделенного блока среди блоков, размер которых удовлетворяет условию Depth=1. Таким образом, блок 112 описания информации разделения устанавливает переменную "used_min_depth" на "1" что указывает Depth=1 (этап S510). Здесь, переменная "used_min_depth" это информация минимальной используемой глубины иерархии, указывающая минимальную используемую глубину иерархии. Минимальная используемая глубина иерархии указывает наименьшую глубину из глубин иерархии, используемых в блоке наибольшего размера. Другими словами, минимальная используемая глубина иерархии это глубина иерархии наиболее мелкого блока из разделенных блоков.
[0082] С другой стороны, когда ни один D1type не установлен на 0 (Нет на этапе S509), блок 112 описания информации разделения определяет, установлен ли на 0, по меньшей мере, один D2type (этап S511). Когда, по меньшей мере, один D2type устанавливается на 0 (Да на этапе S511), это указывает наличие неразделенного блока среди блоков, размер которых удовлетворяет условию Depth=2. Таким образом, блок 112 описания информации разделения устанавливает переменную "used_min_depth" на "2", что указывает Depth=2 (этап S512).
[0083] Когда ни один D2type не установлен на 0 (Нет на этапе S511), все блоки, размер которых удовлетворяет условию Depth=2, подвергаются разделению. Таким образом, блок 112 описания информации разделения устанавливает переменную "used_min_depth" на "3", что указывает Depth=3 (этап S513).
[0084] Блок 112 описания информации разделения определяет "used_max_depth", как описано выше. Кроме того, блок 112 описания информации разделения определяет "used_min_depth" только когда "used_max_depth=3". Кроме того, блок 112 описания информации разделения определяет, на основании "used_max_depth" и "used_min_depth", информацию 130A режима разделения, подлежащую кодированию по сериям переменной длины блоком 109 кодирования по сериям переменной длины, среди фрагментов информации режима разделения, включенной в информацию 130 разделения. Затем блок 112 описания информации разделения генерирует информацию 131 разделения, которая включает в себя "used_max_depth", "used_min_depth" и определенную информацию 130A режима разделения, и выводит сгенерированную информацию 131 разделения на блок 109 кодирования по сериям переменной длины.
[0085] Здесь, детали сигнала, подлежащего кодированию по сериям переменной длины блоком 109 кодирования по сериям переменной длины, будут описаны со ссылкой на фиг.6A, 6B и 6C.
[0086] На фиг.6A-6C показаны схемы, демонстрирующие информацию 130 и 131 разделения на результатах разных разделений блока.
[0087] Сначала опишем результат разделения блока, показанный на фиг.6A. В этом случае, информация 130 разделения включает в себя, в качестве информации режима разделения, "1" для блока 64×64, "0101" для блоков 32×32, и "0000" и "0000" для блоков 16×16, полученных разделением двух блоков 32×32, которые имеют "1" (разделенные блоки) в качестве информации режима разделения. Блок 112 описания информации разделения определяет "used_max_depth" в этом случае равной "2". В этом случае, поскольку максимальная глубина иерархии в результате разделения равна 2, информация "0000" и "0000", указывающая, что блоки 16×16 не разделены, не требуется. Таким образом, блок 112 описания информации разделения определяет только информацию режима разделения "0101" на блоках 32×32 в качестве информации 130A режима разделения, подлежащей кодированию. Затем блок 109 кодирования по сериям переменной длины кодирует по сериям переменной длины информацию 131 разделения, которая включает в себя "used_max_depth", и информацию режима разделения "0101" на блоках 32×32.
[0088] В этом примере, информация режима разделения обрабатывается как информация, указывающая разделенный блок (1) и неразделенный блок (0), и, таким образом, длина в битах информации 130 разделения представлена 13 битами. С другой стороны, благодаря тому, что блок 112 описания информации разделения определяет максимальную используемую глубину иерархии, информация 131 разделения, кодированная по сериям переменной длины блоком 109 кодирования по сериям переменной длины, включает в себя 4 бита информации режима разделения и "used_max_depth". Здесь, "used_max_depth" имеет фиксированное значение от 0 до 3 (до глубины иерархии 3 в этом примере) и, таким образом, может быть представлена 2 битами. Другими словами, в этом случае, 13 бит информации можно представить 6 битами.
[0089] Далее будет описан результат другого разделения блока, показанного на фиг.6B. Как и прежде, информация 130 разделения включает в себя, в качестве информации режима разделения, "1" для блока 64×64, "1111" для блоков 32×32, и "0000", "0001", "0000" и "1100" для блоков 16×16, полученных разделением четырех блоков 32×32, которые имеют "1" (разделенные блоки) в качестве информации режима разделения. Блок 112 описания информации разделения определяет, что "used_max_depth" равен "3", и "used_min_depth" равен "2" в этом случае. В этом случае, поскольку минимальная глубина иерархии в результате разделения равна 2, информация режима разделения "1111" указывающая, что блоки 32×32 разделены, не требуется. Таким образом, блок 112 описания информации разделения определяет только четыре фрагмента информации режима разделения на блоках 16×16 в качестве информации 130A режима разделения, подлежащей кодированию. Затем блок 109 кодирования по сериям переменной длины кодирует по сериям переменной длины информацию 131 разделения, которая включает в себя "used_max_depth", "used_min_depth", и информацию режима разделения "0000", "0001", "0000" и "1100" на блоках 16×16.
[0090] Полагая, что длина в битах такая же, как на фиг.6A, получаем, что длина в битах информации 130 разделения равна 21 биту. С другой стороны, информация 131 разделения, кодированная по сериям переменной длины блоком 109 кодирования по сериям переменной длины, включает в себя 16 битов информации режима разделения, "used_max_depth" и "used_min_depth". Здесь, "used_max_depth", как описано выше, имеет длину 2 бита. "used_min_depth" имеет фиксированное значение от 1 до 3, и, таким образом, допускает представление от 1 бита до 2 битов. Таким образом, 21 бит информации можно представить 20 битами.
[0091] Далее, результат другого разделения блока, показанного на фиг.6C будет описано. Как и прежде, информация 130 разделения включает в себя, в качестве информации режима разделения, "1" для блока 64×64, "1111" для блоков 32×32, и "1111", "1111", "1111" и "1111" для блоков 16×16, полученных разделением четырех блоков 32×32, которые имеют "1" (разделенный блок) в качестве информации режима разделения. Блок 112 описания информации разделения определяет, что "used_max_depth" равен "3", и "used_min_depth" равен "3" в этом случае. В этом случае, поскольку минимальная глубина иерархии в результате разделения равна 3, информация режима разделения "1111" указывающая, что блоки 32×32 и блоки 16×16 разделены, не требуется. Таким образом, блок 109 кодирования по сериям переменной длины кодирует по сериям переменной длины информацию 131 разделения, которая включает в себя "used_max_depth" и "used_min_depth."
[0092] Будем полагать, что длина в битах такая же, как на фиг.6A и фиг.6B. Длина в битах информации 130 разделения представлена 21 битом. Благодаря тому, что блок 112 описания информации разделения определяет максимальную используемую глубину иерархии и минимальную используемую глубину иерархии, кодированная по сериям переменной длины информация 131 разделения включает в себя "used_max_depth" и "used_min_depth." Здесь, длина "used_min_depth" равна 2 битам, и длина "used_min_depth" составляет от 1 бита до 2 битов, как описано выше. Таким образом, в этом случае, 21 бит информации можно представить 4 битами.
[0093] Следует отметить, что статистическую информацию можно использовать для кодирования по сериям переменной длины для назначения часто встречающемуся сигналу малой длины в битах и назначения менее часто встречающемуся сигналу большой длины в битах. Кроме того, динамическую вероятностную модель, например, арифметическое кодирование, можно использовать для кодирования по сериям переменной длины. Другими словами, можно видеть, хотя опорное значение, что способ описания информации разделения, согласно настоящему варианту осуществления, повышает возможность сокращения увеличенного объема кодирования.
[0094] Как описано выше, блок 107 прогнозирования генерирует сигнал 128 прогнозируемого изображения из сигнала 127 декодированного изображения, который является сигналом кодированного изображения. Затем блок 107 прогнозирования выводит сгенерированный сигнал 128 прогнозируемого изображения на блок 101 разности и сумматор 106.
[0095] Блок 101 разности вычисляет разность между разделенным сигналом 121 изображения, который является сигналом, полученным делением сигнала 120 входного изображения, и сигналом 128 прогнозируемого изображения для генерации разностного сигнала 122, и выводит сгенерированный разностный сигнал 122 на блок 102 преобразования.
[0096] Блок 102 преобразования преобразует разностный сигнал 122 для генерации коэффициентов преобразования 123, и выводит сгенерированные коэффициенты преобразования 123 на блок 103 квантования.
[0097] Блок 103 квантования квантует коэффициенты преобразования 123 для генерации информации 124 квантованных коэффициентов преобразования, и выводит сгенерированную информацию 124 квантованных коэффициентов преобразования на блок 109 кодирования по сериям переменной длины и блок 104 обратного квантования.
[0098] Блок 104 обратного квантования осуществляет обратное квантование информацию 124 квантованных коэффициентов преобразования для генерации коэффициентов 125 преобразования, и выводит сгенерированные коэффициенты 125 преобразования на блок 105 обратного преобразования. Блок 105 обратного преобразования осуществляет обратное преобразование на коэффициентах 125 преобразования для генерации декодированного остаточного сигнала 126 изображения, и выводит сгенерированный декодированный остаточный сигнал 126 изображения на сумматор 106.
[0099] Сумматор 106 суммирует декодированный остаточный сигнал 126 изображения и сигнал 128 прогнозируемого изображения для генерации сигнала 127 декодированного изображения, и выводит сгенерированный сигнал 127 декодированного изображения на блок 107 прогнозирования.
[0100] Блок 109 кодирования по сериям переменной длины кодирует по сериям переменной длины информацию 124 квантованных коэффициентов преобразования, которая представляет собой сигнал, подлежащий кодированию, сигнал 132 управления кодированием и информацию 131 разделения, согласно типу сигнала, для генерации кодовой последовательности 140.
[0101] Следует отметить, что детали структуры кодовой последовательности 140 в вышеописанном способе описания информации разделения будут описаны со ссылкой на вариант осуществления 4.
[0102] Кроме того, вышеописанный способ для определения шаблона разделения описан в порядке примера, и настоящее изобретение этим не ограничивается. Например, можно использовать результат разделения окружающих кодированных блоков. Кроме того, можно использовать результат разделения другого кодированного кадра. Детали в этих случаях будут описаны со ссылкой на вариант осуществления 3.
[0103] Следует отметить, что хотя в настоящем варианте осуществления описано разделение макроблока, который является единицей кодирования, настоящее изобретение этим не ограничивается. Например, единицы, на которых блок 102 преобразования осуществляет преобразование, можно описать таким же образом. этот случай будет подробно описан со ссылкой на вариант осуществления 4.
[0104] Следует отметить, что хотя описан случай использования двух типов, включающих в себя тип, указывающий, что блок разделен на четыре блока, и тип, указывающий, что блок не разделен, настоящее изобретение этим не ограничивается. Например, аналогично случаю NPL 1, настоящее изобретение применимо к случаям, когда блок делится на неквадратные формы (16 пикселей × 8 пикселей, 8 пикселей × 16 пикселей). Детали в этом случае будут описаны со ссылкой на вариант осуществления 5.
[0105] Следует отметить, что если блок 109 кодирования по сериям переменной длины, описанный выше, применяет арифметическое кодирование, вероятностные модели, используемые для арифметического кодирования, могут переключаться на основании информации формы кодированного блока и/или информации о максимальной используемой глубине иерархии и/или информации о минимальной используемой глубине иерархии. Можно ожидать, что это дополнительно повысит эффективность кодирования.
[0106] Следует отметить, что если, при вышеописанном вычислении длины в битах вышеописанный блок 109 кодирования по сериям переменной длины применяет таблицу кодов с сериями переменной длины, когда уменьшение информации разделения велико, информации о максимальной используемой глубине иерархии и/или минимальной используемой глубине иерархии можно назначать большую длину в битах, и когда уменьшение мало, информации о максимальной используемой глубине иерархии и/или минимальной используемой глубине иерархии можно назначать малую длину в битах. Это может дополнительно способствовать повышению эффективности кодирования согласно настоящему варианту осуществления.
[0107] Следует отметить, что хотя в подробном описании настоящего варианта осуществления, наибольший размер блока составляет 64 пикселя по горизонтали × 64 пикселя по вертикали, и наименьший размер блока составляет 8 пикселей по горизонтали × 8 пикселей по вертикали, настоящее изобретение применимо независимо от размера.
[0108] Вариант осуществления 2
Согласно варианту осуществления 2 настоящего изобретения, будет описано устройство 200 декодирования изображений, которое декодирует кодовую последовательность 140, генерируемую вышеописанным устройством 100 кодирования изображений.
[0109] На фиг.7 показана блок-схема устройства 200 декодирования изображений, которое использует блок 207 реконструкции информации разделения согласно настоящему варианту осуществления. Устройство 200 декодирования изображений, показанное на фиг.7, включает в себя блок 201 декодирования по сериям переменной длины, блок 202 управления декодированием, блок 203 обратного квантования, блок 204 обратного преобразования, блок 205 прогнозирования, сумматор 206 и блок 207 реконструкции информации разделения. Следует отметить, что блок 205 прогнозирования может включать в себя память.
[0110] Кодовая последовательность 140 представляет собой кодовую последовательность, генерируемую устройством 100 кодирования изображений согласно варианту осуществления 1 настоящего изобретения. Кодовая последовательность 140 поступает на блок 201 декодирования по сериям переменной длины.
[0111] Блок 201 декодирования по сериям переменной длины декодирует по сериям переменной длины информацию разделения, которая включена в кодовую последовательность 140. В частности, блок 201 декодирования по сериям переменной длины декодирует по сериям переменной длины кодовую последовательность 140 для генерации декодированного сигнала 221 и выводит сгенерированный декодированный сигнал 221 на блок 207 реконструкции информации разделения, блок 202 управления декодированием и блок 203 обратного квантования. Следует отметить, что блок 201 декодирования по сериям переменной длины осуществляет обработку в единицах разделения на основании информации 226 разделения, полученной блоком 207 реконструкции информации разделения.
[0112] Когда декодированный сигнал 221 представляет собой квантованные коэффициенты преобразования, блок 203 обратного квантования осуществляет обратное квантование декодированного сигнала 221 для генерации коэффициентов 222 преобразования. Блок 204 обратного преобразования осуществляет обратное преобразование на коэффициентах 222 преобразования для генерации декодированного остаточного сигнала 223 изображения и выводит сгенерированный декодированный остаточный сигнал 223 изображения на сумматор 206.
[0113] Когда декодированный сигнал 221 представляет собой информацию 225, связанную с генерацией прогнозируемого изображения, указывающую способ прогнозирования, блок 202 управления декодированием выводит информацию 226 разделения, полученную блоком 207 реконструкции информации разделения, и информацию 225, связанную с генерацией прогнозируемого изображения, на блок 205 прогнозирования. Здесь, информация 225, связанная с генерацией прогнозируемого изображения, соответствует сигналу 132 управления кодированием в устройстве 100 кодирования изображений и включает в себя, например, режим прогнозирования и информацию прогнозирования.
[0114] Блок 205 прогнозирования генерирует сигнал 224 прогнозируемого изображения в единицах разделения на основании информации 226 разделения, с использованием сигнала декодированного изображения, который был декодирован (сигнала 240 выходного изображения), и информации 225, связанной с генерацией прогнозируемого изображения, полученной от блока 202 управления декодированием, и выводит сгенерированный сигнал 224 прогнозируемого изображения на сумматор 206. Сумматор 206 суммирует декодированный остаточный сигнал 223 изображения и сигнал 224 прогнозируемого изображения для генерации сигнала декодированного изображения (сигнала 240 выходного изображения).
[0115] Следует отметить, что когда декодированный сигнал 221 представляет собой информацию декодирования разделения, блок 207 реконструкции информации разделения реконструирует информацию 226 разделения из информации декодирования разделения для определения шаблона разделения. Здесь, информация декодирования разделения соответствует информации 131 разделения в устройстве 100 кодирования изображений. Информация 226 разделения представляет шаблон разделения и соответствует информации 130 разделения согласно варианту осуществления 1. Детали последовательности операций обработки будут описаны со ссылкой на фиг.8.
[0116] Блок 207 реконструкции информации разделения получает значение "used_max_depth" в информации декодирования разделения (этап S801). Когда "used_max_depth" равен 0 (Нет на этапе S802 и Нет на этапе S803), блок 207 реконструкции информации разделения определяет, что блок наибольшего размера не подлежит разделению (этап S804). С другой стороны, когда "used_max_depth" равен 1 (Нет на этапе S802 и Да на этапе S803), блок 207 реконструкции информации разделения определяет, что блок подлежит разделению на блоки, размеры всех из которых удовлетворяют условию Depth=1 (размер блоков, полученных разделением наибольшего блока на четыре) (этап S805).
[0117] Когда "used_max_depth" равен 2 (Да на этапе S802 и Нет на этапе S806), блок 207 реконструкции информации разделения получает "D1type" каждого блока, изменяя счетчик для блоков при Depth1 в порядке 0, 1, 2 и 3 (этапы S807-S809).
[0118] Блок 207 реконструкции информации разделения разделяет наибольший блок на основании полученного D1type (этап S810). Следует отметить, что D1type это информация для указания, по порядку, например, зигзагообразно сверху вниз, шаблона разделения для каждого из четырех блоков, полученных разделением наибольшего блока. Блок 207 реконструкции информации разделения определяет, на основании D1type, подлежит ли разделению каждый блок полученный разделением наибольшего блока, для определения шаблона разделения наибольшего блока.
[0119] Когда "used_max_depth" равен 3 (Да на этапе S802 и Да на этапе S806), блок 207 реконструкции информации разделения получает "used_min_depth" (этап S811).
[0120] Когда "used_min_depth" равен 3 (Нет на этапе S812 и Нет на этапе S813), блок 207 реконструкции информации разделения определяет, что наибольший блок подлежит разделению на блоки, размеры всех из которых удовлетворяют условию Depth=3 (размер блоков, полученных разделением наибольшего блока на 64) (этап S814).
[0121] Когда "used_min_depth" равен 2 (Нет на этапе S812 и Да на этапе S813), блок 207 реконструкции информации разделения изменяет счетчик в порядке 0, 1, 2 и 3 для блоков при Depth1, и изменяет счетчик в порядке 0, 1, 2 и 3 для блоков при Depth2, которая является глубиной иерархии, которая больше Depth1, таким образом, получая, по очереди, "D2type" каждого из блоков при Depth2 (этапы S815-S819). Затем, предполагая, что все блоки имеют D1type равный 1, блок 207 реконструкции информации разделения разделяет наибольший блок, на основании D2type (этап S820). В частности, блок 207 реконструкции информации разделения разделяет наибольший блок на блоки, размеры всех из которых удовлетворяют условию Depth=2. Затем, на основании D2type, блок 207 реконструкции информации разделения определяет, подлежит ли разделению каждый блок, таким образом, определяя шаблон разделения наибольшего блока.
[0122] Когда "used_min_depth" равен 1 (Да на этапе S812), блок 207 реконструкции информации разделения осуществляет итерацию (обработку, осуществляемую между этапом S821 и этапом S827), одновременно изменяя счетчик в порядке 0, 1, 2 и 3 для блоков при Depth1, для получения "D1type" каждого блока при Depth1 (этап S822).
[0123] Следует отметить, что когда "D1type" не равен 0 (Нет на этапе S823), блок 207 реконструкции информации разделения осуществляет итерацию (обработку, осуществляемую между этапом S824 и этапом S826), одновременно изменяя счетчик в порядке 0, 1, 2 и 3 для блоков при Depth2, для получения "D2type" каждого блока при Depth2 (этап S825). После этого блок 207 реконструкции информации разделения увеличивает счетчик для Depth1 на 1.
[0124] С другой стороны, когда "D1type" равен 0 (Да на этапе S823), блок 207 реконструкции информации разделения увеличивает счетчик для Depth1 на 1 (этап S827). По завершении всех циклов, блок 207 реконструкции информации разделения определяет шаблон разделения наибольшего блока, на основании D1type и D2type, которые представляют собой информацию, указывающую, подлежит ли разделению каждый из блоков, соответствующих Depth1 и Depth2, соответственно, для каждой глубины иерархии (этап S828).
[0125] Вышеописанная обработка позволяет правильно декодировать кодовую последовательность 140, закодированную способом кодирования согласно варианту осуществления 1. Как описано выше, настоящее изобретение может обеспечивать способ кодирования, который обеспечивает высокую эффективность кодирования, и способ декодирования.
[0126] Вариант осуществления 3
В настоящем варианте осуществления, будет описан случай, когда блок 112 описания информации разделения прогнозирует шаблон разделения.
[0127] Блок 112 описания информации разделения использует шаблон разделения кодированного блока для оценивания прогнозируемого шаблона разделения, который является прогнозируемым значением шаблона разделения блока, подлежащего обработке. Блок 111 управления разделением определяет шаблон разделения блока, подлежащего обработке, с использованием оцененного прогнозируемого шаблона разделения.
[0128] Следует отметить, что блок 112 описания информации разделения может использовать шаблон разделения блока, соседствующего с блоком, подлежащим обработке, и находящегося в том же кадре, что и блок, подлежащий обработке, для оценивания шаблона разделения блока, подлежащего обработке, или может использовать шаблон разделения блока, включенного в другой временной кадр, для оценивания шаблона разделения блока, подлежащего обработке.
[0129] Прежде всего, способ прогнозирования шаблона разделения блока, подлежащего обработке (далее именуемого также текущим блоком), из шаблона разделения соседнего кодированного и декодированного блока (далее именуемого также соседним блоком), будет описан со ссылкой на фиг.9A, 9B, 9C, 9D, 9E, 9F, 9G, 9H, 9I, 9J, 9K и 9L и фиг.10. На Фиг.9A-9L показаны схемы, иллюстрирующие случаи, когда информация разделения текущего блока прогнозируется из информации разделения соседнего блока.
[0130] На фиг.9A-9L показаны примеры, где текущий блок 900 прогнозируется с использованием соседних блоков 901 и 902. Здесь, на каждой из фиг.9A, фиг.9E и фиг.9I представлен случай, когда левому соседнему блоку относительно текущего блока 900 отдается приоритет, когда соседний блок в текущем блоке 900 не используется для прогнозирования. Каждая из фиг.9B, фиг.9F и фиг.9J демонстрирует случай, когда верхнему соседнему блоку относительно текущего блока 900 отдается приоритет, когда соседний блок в текущем блоке 900 не используются для прогнозирования. Каждая из фиг.9C, фиг.9G и фиг.9K демонстрирует случай, когда левому соседнему блоку отдается приоритет, когда соседний блок в текущем блоке 900 используется для прогнозирования. Каждая из фиг.9D, фиг.9H и фиг.9L демонстрирует случай, когда верхнему соседнему блоку отдается приоритет, когда соседний блок в текущем блоке 900 используется для прогнозирования.
[0131] На фиг.9A-9H представлены случаи, когда на прогнозирование не налагается никаких особых ограничений. На фиг.9I-9L представлены случаи, когда указан прогнозируемый максимальный иерархический блок (Depth=2 в этом случае).
[0132] На фиг.10 показана блок-схема операций, демонстрирующая процедуру для прогнозирования шаблона разделения согласно настоящему варианту осуществления.
[0133] Здесь, блок 112 описания информации разделения осуществляет обработку прогнозирования в том же порядке, что и обработку для определения шаблона разделения (например, в зигзагообразном порядке сверху вниз), и, в отношении иерархии (Depth), обработка прогнозирования осуществляется в порядке сверху (Depth=0) вниз (Depth = глубина иерархии блока наименьшего размера).
[0134] Сначала блок 112 описания информации разделения получает, для текущего блока, информацию разделения соседнего обрабатываемого блока, который соседствует с текущим блоком (этап S1001). Полученная при этом информация разделения относится к соседнему блоку на той же глубине иерархии, что и текущий блок. В отсутствие информации разделения соседнего блока на той же глубине иерархии, блок 112 описания информации разделения определяет информацию разделения текущего блока как "неразделенный блок."
[0135] Когда информация разделения обоих верхнего соседнего блока и левого соседнего блока или информация разделения соседнего блока, который является верхним соседним блоком или левым соседним блоком, которому отдается более высокий приоритет, чем другому, указывает "неразделенный блок" (Да на этапе S1002), блок 112 описания информации разделения прогнозирует, что текущий блок не подлежит разделению (этап S1003). С другой стороны, когда информация разделения соседнего блока, который является верхним соседним блоком или левым соседним блоком, которому отдается более высокий приоритет, чем другому, указывает "разделенный блок" (Нет на этапе S1002), блок 112 описания информации разделения прогнозирует, что текущий блок подлежит разделению (этап S1004). Если блок 112 описания информации разделения прогнозирует, что текущий блок подлежит разделению, такая же обработка осуществляется для следующей глубины иерархии.
[0136] Информация, указывающая, какому из верхнего соседнего блока и левого соседнего блок отдается приоритет, может передаваться в описанной ниже информации заголовка, или может быть заранее определена при кодировании и декодировании.
[0137] Согласно фиг.9A, фиг.9B, фиг.9E, фиг.9F, фиг.9I и фиг.9J, при получении информации разделения соседнего блока, соседние блоки с наибольшим размером блока (размером, указанным посредством Depth=0), подлежащие прогнозированию, можно считать не обработанными. Другими словами, когда разделенный блок, включенный в текущий блок 900, который имеет наибольший размер блока, является текущим блоком, блок 112 описания информации разделения использует только информацию разделения соседнего блока, включенную в соседние блоки 901 и 902, для прогнозирования, без использования информации разделения соседнего блока, включенной в текущий блок 900. В этом случае, прогнозирование разделения можно осуществлять с использованием только информации разделения верхнего соседнего блока и левого соседнего блока. Таким образом, можно повысить скорость обработки.
[0138] С другой стороны, поскольку прогнозирование осуществляется в том же порядке, что и обработка (например, в зигзагообразном порядке сверху вниз), информацию разделения прогнозирования соседнего блока с наибольшим размером блока также можно использовать, согласно фиг.9C, фиг.9D, фиг.9G, фиг.9H, фиг.9K и фиг.9L. В этом случае, можно повысить точность прогнозирования и, таким образом, можно ожидать уменьшения увеличенного объема кодирования.
[0139] Кроме того, поскольку прогнозирование осуществляется в том же порядке, что и обработка, также можно использовать определенную информацию разделения. В этом случае, можно дополнительно повысить точность прогнозирования и, таким образом, можно ожидать уменьшения увеличенного объема кодирования.
[0140] Следует отметить, что, по меньшей мере, информация, подлежит ли использованию обработанная информация прогнозирования разделения для наибольшего размера блока или, подлежит ли использованию обработанная информация разделения, может передаваться в описанной ниже информации заголовка или может быть заранее определена при кодировании и декодировании.
[0141] Далее, со ссылкой на фиг.11A и фиг.11B, будет описан способ прогнозирования шаблона разделения текущего блока из шаблона разделения блока в другом кодированном и декодированном кадре. На фиг.11A и фиг.11B показаны схемы, иллюстрирующие случай, когда шаблон разделения текущего блока прогнозируется из шаблона разделения блока в кодированном и декодированном кадре. На фиг.11A показана схема, демонстрирующая прогнозируемый результат разделения блоков в обработанном кадре 1101, который был кодирован и декодирован, и прогнозирование разделения на текущем блоке в текущем кадре 1102, подлежащем кодированию и декодированию.
[0142] Здесь, информация относительной позиции разделенной формы, показанная на фиг.11A, представляет собой информацию, указывающую, какой блок в каком прогнозируемом кадре подлежит использованию для прогнозирования. Следует отметить, что, согласно фиг.11B, использование результата разделения обработанного кадра 1104, предшествующего по времени текущему кадру 1103, или обработанного кадра 1105, более позднего по времени, чем текущий кадр 1103, позволяет эффективно осуществлять прогнозирование.
[0143] Следует отметить, что блок 112 описания информации разделения может определять информация относительной позиции разделенной формы блока, подлежащего разделению (наибольшего размера блока), на основании иллюстративной информации вектора движения среди фрагментов информации вектора движения, используемой для интрапрогнозирования, вычисляемой заранее определенным способом. Например, блок 112 описания информации разделения вычисляет срединное значение вектора движения соседнего блока и также вычисляет срединное значение вектора движения опорного кадра таким же образом. Затем блок 112 описания информации разделения может использовать в качестве информации относительной позиции разделенной формы вектор движения на основании вычисленных срединных значений.
[0144] Альтернативно, если блок, подлежащий разделению, включает в себя векторы движения, блок 112 описания информации разделения может использовать, в качестве информации относительной позиции разделенной формы, информацию о ведущем векторе движения и опорном кадре как они есть. В этих случаях, нет необходимости передавать дополнительную информацию для прогнозирования, и, таким образом, можно уменьшить объем кодирования. Следует отметить, что в этом случае также, устройство 100 кодирования изображений может по отдельности передавать информацию относительной позиции разделенной формы. Например, устройство 100 кодирования изображений сначала выводит информацию разделения блока, подлежащего разделению. Затем, из кодированного кадра, устройство 100 кодирования изображений вычисляет, в качестве информации относительной позиции разделенной формы, информацию относительной позиции между блоком, подлежащим разделению, и блоком, имеющим такую же или почти такую же информацию разделения, что и блок, подлежащий разделению. Затем устройство 100 кодирования изображений кодирует и декодирует информацию относительной позиции разделенной формы таким же образом, как, например, информацию вектора движения, которая используется блоком 107 прогнозирования для интрапрогнозирования.
[0145] Теперь, со ссылкой на фиг.12A и фиг.12B, соответственно, опишем, как передается (фиг.12A) и реконструируется (фиг.12B) информация разделения, с использованием прогнозируемой информации разделения.
[0146] Блок 112 описания информации разделения вычисляет разность между шаблоном разделения и прогнозируемым шаблоном разделения и генерирует информацию 131 разделения, которая включает в себя разность. Далее следует подробное описание.
[0147] На фиг.12A показана блок-схема операций, демонстрирующая действие блока 112 описания информации разделения согласно варианту осуществления 3. Следует отметить, что блок 112 описания информации разделения осуществляет обработку описания в том же порядке, что и обработку определения шаблона разделения (например, в зигзагообразном порядке сверху вниз), и, в отношении иерархии (Depth), обработка описания осуществляется в порядке сверху (Depth=0) вниз (глубина иерархии удовлетворяет условию Depth = наименьший размер блока).
[0148] Сначала блок 112 описания информации разделения получает информацию разделения и прогнозируемую информацию разделения (далее, прогнозируемую информацию разделения) на текущем блоке (этап S1201). Затем блок 112 описания информации разделения выводит максимальную дифференциальную глубину иерархии (этап S1202) таким же образом, как обработка, которая выводит максимальную используемую глубину иерархии (used_max_depth) согласно варианту осуществления 1. Здесь, максимальная дифференциальная глубина иерархии представляет собой информацию, указывающую глубину иерархии, начиная с которой, информация разделения и прогнозируемая информация разделения различаются. Другими словами, максимальная дифференциальная глубина иерархии представляет собой информацию, указывающую верхнюю глубину иерархии, начиная с которой, информация разделения и прогнозируемая информация разделения различаются. Например, способ вывода использует 0 для случая, когда прогнозируемая информация разделения и информация разделения одинаковы, и 1 для случая, когда прогнозируемая информация разделения и информация разделения различны, и осуществляет обработку, показанную в блок-схеме операций на фиг.5, таким образом, выводя максимальную используемую глубину иерархии. Альтернативно, если присутствует глубина иерархии (блок меньшего размера), которая ниже, чем максимальная дифференциальная глубина иерархии, блок 112 описания информации разделения устанавливает информацию разделения на глубине иерархии (этап S1203).
[0149] Следует отметить, что способ описан в порядке примера, и описание способа не этим ограничивается, в той мере, в которой применяется способ прогнозирования согласно настоящему изобретению.
[0150] На фиг.12B показана блок-схема операций, демонстрирующая операцию реконструкции информации разделения, закодированной в процедуре, показанной на фиг.12A.
[0151] Сначала блок 207 реконструкции информации разделения получает информацию о максимальной дифференциальной глубине иерархии и прогнозируемой информации разделения в отношении блока, подлежащего разделению (этап S1204). Здесь, информация о максимальной дифференциальной глубине иерархии представляет собой информацию, указывающую максимальную дифференциальную глубину иерархии и включенную в кодовую последовательность 140, генерируемую устройством 100 кодирования изображений. Прогнозируемая информация разделения генерируется устройством 200 декодирования изображений, осуществляющим такую же обработку, как обработка, осуществляемая вышеописанным устройством 100 кодирования изображений.
[0152] Затем блок 207 реконструкции информации разделения устанавливает прогнозируемую информацию разделения как информацию разделения на глубине иерархии (информацию, относящуюся к тому же, что и прогнозирование) более высокой, чем максимальная дифференциальная глубина иерархии (этап S1205).
[0153] Наконец, блок 207 реконструкции информации разделения реконструирует информацию разделения на глубине иерархии более низкой, чем максимальная дифференциальная глубина иерархии (этап S1206). Таким образом, информация разделения на текущем блоке реконструируется. Здесь, информация разделения на глубине иерархии более низкой, чем максимальная дифференциальная глубина иерархии, включается в кодовую последовательность 140, генерируемую устройством 100 кодирования изображений.
[0154] Вариант осуществления 4
В настоящем варианте осуществления, будет описан способ, в котором блок 112 описания информации разделения записывает информацию, связанную с разделением, как информацию заголовка потока, и кодирует и декодирует информацию заголовка.
[0155] На фиг.13 показана схема, демонстрирующая конфигурацию кодовой последовательности 140 в способе кодирования изображений согласно настоящему варианту осуществления. Часть (a) фиг.13 указывает кодированный сигнал, соответствующий видео-последовательности, сформированной из, по меньшей мере, одного экрана. Как показано на (a) фиг.13, кодовая последовательность 140 включает в себя данные SeqData последовательности, которые представляют собой данные для всего экрана, и заголовок SeqHdr последовательности, который представляет собой данные, общие для всех данных для всего экрана. Заголовок SeqHdr последовательности включает в себя информацию SepInfo, связанную с разделением.
[0156] Информация SepInfo, связанная с разделением, представляет собой флаг для переключения, например, используется ли способ, описанный со ссылкой на вариант осуществления 1, и кодирования только информации разделения (информации Dn_type). Следует отметить, что информация SepInfo, связанная с разделением, может представлять собой информацию, связанную с прогнозированием шаблона разделения, описанную со ссылкой на вариант осуществления 3.
[0157] В части (b) фиг.13 показана структура данных SeqData последовательности. Данные SeqData последовательности включают в себя множество сигналов PicStr изображения. Каждый сигнал PicStr изображения представляет собой кодированный сигнал, соответствующий одному экрану. Другими словами, каждый сигнал PicStr изображения представляет собой кодированный сигнал изображения.
[0158] В части (c) фиг.13 показана структура сигнала PicStr изображения. Сигнал PicStr изображения включает в себя данные PicData изображения, которые представляют собой данные для одного экрана, и заголовок PicHdr изображения, который представляют собой данные, общие для одного экрана в целом. Например, заголовок PicHdr изображения может включать в себя информацию SepInfo, связанную с разделением.
[0159] В части (d) фиг.13 показана структура данных PicData изображения. Данные PicData изображения включают в себя множество сигналов SliceStr среза. Каждый сигнал SliceStr среза является кодированным сигналом, который представляет собой набор из множества блочных единиц, среза.
[0160] В части (e) фиг.13 показана структура сигнала SliceStr среза. Сигнал SliceStr среза включает в себя данные SliceData среза, которые представляют собой данные одного среза, и заголовок SliceHdr среза, который представляет собой данные, общие для всех данных одного среза. Заголовок SliceHdr среза может включать в себя информацию SepInfo, связанную с разделением. Это позволяет устройству 200 декодирования изображений правильно декодировать принятый кодированный сигнал, даже когда способ обработки надлежащим образом переключается устройством 100 кодирования изображений в единицах данных SliceData среза.
[0161] Следует отметить, что когда данные SeqData последовательности включают в себя множество сигналов PicStr изображения, некоторые заголовки PicHdr изображения могут включать в себя информацию SepInfo, связанную с разделением, вместо того, чтобы все заголовки PicHdr изображения включали в себя информацию SepInfo, связанную с разделением.
[0162] Аналогично, когда данные PicData изображения включают в себя множество сигналов SliceStr среза, лишь некоторые из заголовков SliceHdr среза могут включать в себя информацию SepInfo, связанную с разделением, вместо того, чтобы все заголовки SliceHdr среза включали в себя информацию SepInfo, связанную с разделением. Если контент информации SepInfo, связанной с разделением, является общим для срезов, и если информация SepInfo, связанная с разделением, не содержится в заголовке SliceHdr среза, как показано на (e) фиг.13, устройство 200 декодирования изображений подставляет информацию SepInfo, связанную с разделением, включенную в заголовок SliceHdr среза другого среза, вместо информации, связанной с разделением, на текущем срезе. Это позволяет противодействовать увеличению количества битов в связи с повторным включением в кодовую последовательность 140 информации SepInfo, связанной с разделением.
[0163] Как показано на (e) фиг.13, данные SliceData среза включают в себя множественные фрагменты данных LCTB наибольшего размера блока. Каждый фрагмент данных LCTB наибольшего размера блока является информацией о наибольшем размере блока в единицах блоков. Каждый фрагмент данных LCTB наибольшего размера блока включает в себя заголовок LCTBHdr наибольшего размера блока и сигнал CTBs блока. Сигнал CTBs блока включает в себя множественные фрагменты данных CTB блока в иерархическом формате.
[0164] Здесь, заголовок LCTBHdr наибольшего размера блока включает в себя максимальную используемую глубину иерархии, минимальную используемую глубину иерархии или максимальную дифференциальную глубину иерархии. Следует отметить, что информация разделения на всех блоках может быть включена в заголовок LCTBHdr наибольшего размера блока, или информация разделения на соответствующем блоке может быть включена в каждый фрагмент данных CTB блока.
[0165] В части (f) фиг.13 показана структура данных CTB блока. Участок данных CTB блока включает в себя заголовок TUHdr блока преобразования, который является информацией заголовка на структуре преобразования, и блок TUs преобразования. Аналогично вышеописанному блоку (CUs), блок TUs преобразования также можно разделять. Другими словами, настоящее изобретение можно применять к блокам преобразования. В этом случае, можно осуществлять то или иное преобразование размера, и можно уменьшать объем кодирования для передачи форм.
[0166] Альтернативно, при передаче кодовой последовательности 140 в виде пакетов, которые являются непоследовательными единицами данных, а не в виде последовательного битового потока, участок заголовка и участок данных, отличных от заголовка, могут передаваться по отдельности. В этом случае, участок заголовка и участок данных не включены в битовый поток, как показано на фиг.13. Однако в случае использования пакетов, участок заголовка и фрагменты данных не передаются в последовательном порядке, и соответствующий участок данных и соответствующий участок заголовка передаются в разных пакетах. Другими словами, хотя кодовая последовательность 140 не является битовым потоком, принцип такой же, как в случае битового потока, описанного со ссылкой на фиг.13.
[0167] В способе декодирования согласно настоящему изобретению, кодовая последовательность 140, закодированная вышеописанным способом, декодируется согласно следующей процедуре. Сначала устройство 200 декодирования изображений получает информацию SepInfo, связанную с разделением, включенную в заголовок SeqHdr последовательности, и сохраняет полученную информацию, связанную с разделением. Затем устройство 200 декодирования изображений получает информацию SepInfo, связанную с разделением, включенную в заголовок PicHdr изображения, и обновляет сохраненную информацию, связанную с разделением, полученной информацией, связанной с разделением. Здесь, если информация SepInfo, связанная с разделением или ее участок не присутствует, устройство 200 декодирования изображений сохраняет, как есть, информацию, связанную с разделением, включенную в заголовок SeqHdr последовательности. Аналогично, устройство 200 декодирования изображений получает информацию SepInfo, связанную с разделением, включенную в заголовок SliceHdr среза, и обновляет сохраненную информацию, связанную с разделением, полученной информацией, связанной с разделением. Затем устройство 200 декодирования изображений получает данные LCTB наибольшего размера блока для получения информации, необходимой для разделения (максимальной используемой глубины иерархии, минимальной используемой глубины иерархии или максимальной дифференциальной глубины иерархии и информации разделения), включенной в заголовок LCTBHdr наибольшего размера блока. Затем устройство 200 декодирования изображений использует полученную информацию для определения разделенной формы последующих блоков.
[0168] Это позволяет устройству 200 декодирования изображений правильно декодировать кодовую последовательность 140.
[0169] Вариант осуществления 5
В настоящем варианте осуществления, будет описана еще одна разновидность способа кодирования и способа декодирования согласно вариантам осуществления 1-4 настоящего изобретения.
[0170] На фиг.14A-14C показаны схемы, иллюстрирующие способ разделения с использованием множества блоков.
[0171] Выше, для простоты, было приведено описание, когда блок разделен на четыре квадратных блока. Однако, дополнительно, блок может делиться на два прямоугольных блока. Следует отметить, что в этом случае, блоки, разделенные на формы, отличные от квадратной формы, не подлежат дальнейшему разделению.
[0172] Например, как показано на фиг.14A-фиг.14C, информация режима разделения, указанная посредством Dn_type, превращается из двоичной информации 0 (неразделенный блок) и 1 (разделенный блок) в четверичную информацию 0 (неразделенный блок), 1 (блок, разделенный на четыре блока), 2 (блок, разделенный на два блока в горизонтальном направлении), и 3 (блок, разделенный на два блока в вертикальном направлении). Даже когда информация режима разделения описана посредством такой четверичной информации, способ согласно настоящему изобретению позволяет кодировать информацию разделения с использованием малого объема кодирования.
[0173] В частности, будет описан пример, где блок 112 описания информации разделения описывает разделенные формы блока, показанные на фиг.14A, в качестве информации разделения. Разделенные формы блока, показанные на фиг.14A, представленные вышеупомянутыми параметрами, показаны на фиг.14B. Таким образом, соответствующая информация режима разделения устанавливается на Dn_type. В этом случае, согласно способу варианта осуществления 1, максимальная используемая глубина иерархии равна 2. Блок 112 описания информации разделения описывает максимальную используемую глубину иерархии и информацию 130A режима разделения на Depth=1 (блоки размером 32 пикселя по горизонтали × 32 пикселя по вертикали) в качестве информации 131 разделения, подлежащей кодированию. Это позволяет кодировать информацию разделения с использованием малого объема кодирования. Устройство 200 декодирования изображений декодирует информацию разделения, имеющую Dn_type, с использованием того же правила для формы, что и при кодировании, таким образом, реконструируя разделенную форму.
[0174] На фиг.15A-15C показаны схемы, иллюстрирующие возможность дополнительного сокращения информации разделения. Например, в примере формы блока, показанном на фиг.15A, максимальная используемая глубина иерархии равна 2 и информация режима разделения на Depth=1 (блоки размером 32 пикселя по горизонтали × 32 пикселя по вертикали) выражается как (0, 0, 0, 1), как описано выше. Здесь, поскольку максимальная используемая глубина иерархии равна 2, по меньшей мере, один разделенный блок считается включенным в блоки при Depth=1 (блоки размером 32 пикселя по горизонтали × 32 пикселя по вертикали).
[0175] Таким образом, после описания информации режима разделения (0, 0, 0), информация разделения на блоках при Depth=1 кодируется и декодируется, без описания информации режима разделения, которая равна 1. Таким образом, можно найти, что последняя информация режима разделения равна 1. Другими словами, когда текущая глубина иерархии меньше максимальной используемой глубины иерархии, и только последний блок подлежит разделению в порядке кодирования (порядке обработки разделения), блок 112 описания информации разделения генерирует информацию 131 разделения, которая не включают в себя информацию режима разделения на последнем блоке.
[0176] Как описано выше, когда блок 112 описания информации разделения может задавать для каждого блока, с использованием максимальной используемой глубины иерархии, подлежит ли блок дальнейшему разделению, блок 112 описания информации разделения удаляет информацию о шаблоне разделения блока из информации 130 разделения. Затем блок 109 кодирования по сериям переменной длины кодирует информацию 131 разделения, из которой вышеупомянутая информация была удалена. Обработка позволяет уменьшить увеличенный объем кодирования.
[0177] Аналогично, в примере формы блока, показанном на фиг.15B, максимальная используемая глубина иерархии равна 3, и минимальная используемая глубина иерархии равна 1, и информация режима разделения на блоках при Depth=1 (блоки размером 32 пикселя по горизонтали × 32 пикселя по вертикали) и Depth=2 (блоки размером 16 пикселей по горизонтали × 16 пикселей по вертикали) выражается как (0, 0, 0, 1). Как описано выше, информацию разделения можно декодировать, даже если информация разделения имеет вид (0, 0, 0). Таким образом, информацию разделения, которая равна 1, можно не кодировать. Это избавляет от необходимости кодировать два фрагмента информации режима разделения и позволяет дополнительно повысить эффективность кодирования.
[0178] Аналогично, в примере формы блока, показанном на фиг.15C, максимальная используемая глубина иерархии равна 3, и минимальная используемая глубина иерархии равна 1. Поскольку было обнаружено, что минимальная используемая глубина иерархии равна 1, считается, что, по меньшей мере, один блок при Depth=1 (блоки размером 32 пикселя по горизонтали × 32 пикселя по вертикали) не подлежит разделению. Таким образом, выясняется, что последний блок в информации режима разделения (1, 1, 1, 0) на блоках при Depth=1 (блоки размером 32 пикселя по горизонтали × 32 пикселя по вертикали) равен 0. Таким образом, аналогично фиг.15A и фиг.15B, информацию можно не кодировать. Другими словами, когда текущая глубина иерархии равна минимальной используемой глубине иерархии, и только последний блок в порядке кодирования (порядке обработки разделения) не подлежит разделению, блок 112 описания информации разделения генерирует информацию 131 разделения, которая не включает в себя информацию режима разделения на последнем блоке.
[0179] Как описано выше, если блок 112 описания информации разделения может задавать для каждого блока, с использованием минимальной используемой глубины иерархии, подлежит ли блок дальнейшему разделению, блок 112 описания информации разделения удаляет информацию, указывающую шаблон разделения блока, из информации 130 разделения. Затем блок 109 кодирования по сериям переменной длины кодирует по сериям переменной длины информацию 131 разделения, из которой вышеупомянутая информация была удалена. Это позволяет повысить эффективность кодирования.
[0180] Вариант осуществления 6
Обработку, описанная в каждом из вариантов осуществления можно просто реализовать в независимой компьютерной системе, путем записи, на носителе записи, программы для реализации конфигураций способа кодирования движущихся изображений (способа кодирования изображений) и способа декодирования движущихся изображений (способа декодирования изображений), описанных в каждом из вариантов осуществления. Носителями записи могут быть любые носители записи, на которых можно записывать программу, например, магнитный диск, оптический диск, магнитооптический диск, плата ИС и полупроводниковая память.
[0181] Далее будут описаны применения к способу кодирования движущихся изображений (способу кодирования изображений) и способу декодирования движущихся изображений (способу декодирования изображений), описанным в каждом из вариантов осуществления, и использующим их системам. Система имеет признак наличия устройства кодирования и декодирования изображений, которое включает в себя устройство кодирования изображений, использующее способ кодирования изображений, и устройство декодирования изображений, использующее способ декодирования изображений. Другие конфигурации в системе могут изменяться при необходимости в зависимости от случаев.
[0182] Фиг.16 иллюстрирует общую конфигурацию системы ex100 предоставления контента для реализации услуг распространения контента. Область для предоставления услуг связи делится на соты нужного размера, и базовые станции ex106, ex107, ex108, ex109, и ex110, которые являются стационарными станциями беспроводной связи, располагаются в каждой из сот.
[0183] Система ex100 предоставления контента подключена к таким устройствам, как компьютер ex111, карманный персональный компьютер (КПК) ex112, камера ex113, сотовый телефон ex114 и игровая машина ex115, через интернет ex101, поставщика ex102 услуг интернета, телефонную сеть ex104, а также базовые станции ex106-ex110, соответственно.
[0184] Однако конфигурация системы ex100 предоставления контента не ограничивается конфигурацией, показанной на фиг.16, и приемлема комбинация, в которой соединены любые из элементов. Кроме того, каждое устройство может подключаться к телефонной сети ex104 напрямую, а не через базовые станции ex106-ex110, которые являются стационарными станциями беспроводной связи. Кроме того, устройства могут соединяться друг с другом посредством короткодействующей беспроводной связи или других видов связи.
[0185] Камера ex113, например, цифровая видеокамера, способна производить видеосъемку. Камера ex116, например цифровая камера, способна производить как фотосъемку, так и видеосъемку. Кроме того, сотовый телефон ex114 может соответствовать любому из стандартов, например, глобальной системы мобильной связи (GSM) (зарегистрированный товарный знак), множественного доступа с кодовым разделением (CDMA), широкополосного множественного доступа с кодовым разделением (W-CDMA), Проекта долгосрочного развития систем связи (LTE) и высокоскоростного пакетного доступа (HSPA). Альтернативно, сотовый телефон ex114 может представлять собой систему Personal Handyphone (PHS).
[0186] В системе ex100 предоставления контента, сервер ex103 потоковой передачи подключен к камере ex113 и другим устройствам через телефонную сеть ex104 и базовую станцию ex109, что позволяет распространять изображения шоу в прямом эфире и других программ. При таком распространении, контент (например, видеозапись музыкального шоу в прямом эфире), захваченный пользователем с использованием камеры ex113, кодируется как описано выше в каждом из вариантов осуществления (т.е. камера функционирует как устройство кодирования изображений согласно настоящему изобретению), и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи осуществляет распространение потока данных передаваемого контента на клиенты по их запросам. Клиенты включают в себя компьютер ex111, КПК ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которые способны декодировать вышеупомянутые кодированные данные. Каждое из устройств, принимающих распространяемые данные, декодирует и воспроизводит кодированные данные (т.е. функционирует как устройство декодирования изображений согласно настоящему изобретению).
[0187] Данные съемки могут кодироваться камерой ex113 или сервером ex103 потоковой передачи, который передает данные, или процессы кодирования могут обобществляться между камерой ex113 и сервером ex103 потоковой передачи. Аналогично, распространяемые данные могут декодироваться клиентами или сервером ex103 потоковой передачи, или процессы декодирования могут обобществляться между клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и видео, захваченных не только камерой ex113, но и камерой ex116, могут передаваться на сервер ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут осуществляться камерой ex116, компьютером ex111 или сервером ex103 потоковой передачи, или обобществляться между ними.
[0188] Кроме того, процессы кодирования и декодирования могут осуществляться БИС ex500, в общем случае, входящей в состав каждого из компьютера ex111 и устройств. БИС ex500 может быть сконфигурирована в виде единого кристалла или множества кристаллов. Программное обеспечение для кодирования и декодирования видео может интегрироваться в тот или иной тип носителя записи (например, CD-ROM, гибкий диск и жесткий диск), считываемый компьютером ex111 и другими устройствами, и процессы кодирования и декодирования могут осуществляться с использованием программного обеспечения. Кроме того, когда сотовый телефон ex114 оборудован камерой, видеоданные, полученные камерой, могут передаваться. Видеоданные представляют собой данные, кодированные БИС ex500, входящей в состав сотового телефона ex114.
[0189] Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров, и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распространять данные.
[0190] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, переданную пользователем, и воспроизводить декодированные данные в реальном времени в системе ex100 предоставления контента, что позволяет пользователю, не имеющему конкретных прав и оборудования, реализовать персональное вещание.
[0191] Помимо примера системы ex100 предоставления контента, по меньшей мере, одно из устройства кодирования движущихся изображений (устройство кодирования изображений) и устройства декодирования движущихся изображений (устройство декодирования изображений), описанных в каждом из вариантов осуществления, можно реализовать в системе ex200 цифрового вещания, показанной на фиг.17. В частности, широковещательная станция ex201 посылает или передает, посредством радиоволн, на вещательный спутник ex202, мультиплексированные данные, полученные путем мультиплексирования аудиоданных и других данных в видеоданные. Видеоданные это данные, кодированные способом кодирования движущихся изображений, описанным в каждом из вариантов осуществления (т.е., данные, кодированные устройством кодирования изображений согласно настоящему изобретению). Приняв мультиплексированные данные, вещательный спутник ex202 передает радиоволны для вещания. Затем домашняя антенна ex204 с функцией приема спутникового вещания принимает радиоволны. Затем устройство, например, телевизор (приемник) ex300 и телевизионная приставка (STB) ex217, декодирует принятые мультиплексированные данные, и воспроизводит декодированные данные (т.е. функционирует как устройство декодирования изображений согласно настоящему изобретению).
[0192] Кроме того, устройство ex218 чтения/записи (i) считывает и декодирует мультиплексированные данные, записанные на носитель ex215 записи, например, DVD и BD, или (i) кодирует видеосигналы на носителе ex215 записи, и, в ряде случаев, записывает данные, полученные путем мультиплексирования аудиосигнала, на кодированных данных. Устройство ex218 чтения/записи может включать в себя устройство декодирования движущихся изображений или устройство кодирования движущихся изображений, показанное в каждом из вариантов осуществления. В этом случае, воспроизводимые видеосигналы отображаются на мониторе ex219, и могут воспроизводиться другим устройством или системой с использованием носителя ex215 записи, на котором записаны мультиплексированные данные. Можно также реализовать устройство декодирования движущихся изображений в телевизионной приставке ex217, подключенной к кабелю ex203 для кабельного телевизора или к антенне ex204 для спутникового и/или наземного вещания, для отображения видеосигналов на мониторе ex219 телевизора ex300. Устройство декодирования движущихся изображений можно реализовать не в телевизионной приставке, а в телевизоре ex300.
[0193] Фиг.18 иллюстрирует телевизор (приемник) ex300, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления. Телевизор ex300 включает в себя: блок ex301 настройки, который получает или обеспечивает мультиплексированные данные, полученные путем мультиплексирования аудиоданных в видеоданные, через антенну ex204 или кабель ex203 и т.д., который принимает широковещательные передачи; блок ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные для их вывода; и блок ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, закодированные блоком ex306 обработки сигнала, в данные.
[0194] Телевизор ex300 дополнительно включает в себя: блок ex306 обработки сигнала, включающий в себя блок ex304 обработки аудиосигнала и блок ex305 обработки видеосигнала, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные, соответственно (которые функционируют как устройство кодирования изображений и устройство декодирования изображений согласно настоящему изобретению); и блок ex309 вывода, включающий в себя громкоговоритель ex307, который обеспечивает декодированный аудиосигнал, и блок ex308 отображения, который отображает декодированный видеосигнал, например дисплей. Кроме того, телевизор ex300 включает в себя блок ex317 интерфейса, включающий в себя блок ex312 ввода операций, который принимает ввод пользовательской операции. Кроме того, телевизор ex300 включает в себя блок ex310 управления, который управляет в целом каждым составным элементом телевизора ex300, и блок ex311 питания, который подает питание на каждый из элементов. Помимо блока ex312 ввода операций, блок ex317 интерфейса может включать в себя: мост ex313, который подключен к внешнему устройству, например, устройству ex218 чтения/записи; щелевой блок ex314 для обеспечения присоединения носителя ex216 записи, например SD-карты; драйвер ex315, подключаемый к внешнему носителю записи, например, жесткому диску; и модем ex316, подключаемый к телефонной сети. В данном случае, носитель ex216 записи может электрически записывать информацию с использованием энергонезависимого/энергозависимого элемента полупроводниковой памяти для хранения. Составные элементы телевизора ex300 соединены друг с другом синхронной шиной.
[0195] Прежде всего, опишем конфигурацию, в которой телевизор ex300 декодирует мультиплексированные данные, полученные извне через антенну ex204 и другие средства связи, и воспроизводит декодированные данные. В телевизоре ex300, после ввода пользовательской операции через пульт ex220 дистанционного управления и пр., блок ex303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные блоком ex302 модуляции/демодуляции, под управлением блока ex310 управления, включающего в себя ЦП. Кроме того, блок ex304 обработки аудиосигнала декодирует демультиплексированные аудиоданные, и блок ex305 обработки видеосигнала декодирует демультиплексированные видеоданные, с использованием способа декодирования, описанного в каждом из вариантов осуществления, в телевизоре ex300. Блок вывода ex309 выводит декодированные видеосигнал и аудиосигнал, соответственно. Когда блок ex309 вывода выдает видеосигнал и аудиосигнал, сигналы можно временно сохранять в буферах ex318 и ex319 и др., чтобы сигналы воспроизводились синхронно друг с другом. Кроме того, телевизор ex300 может считывать мультиплексированные данные не через вещание и пр. но с носителей ex215 и ex216 записи, например, магнитного диска, оптического диска и SD-карты. Теперь опишем конфигурацию, в которой телевизор ex300 кодирует аудиосигнал и видеосигнал и выводит данные или записывает данные на носитель записи. В телевизоре ex300, после ввода пользовательской операции через пульт ex220 дистанционного управления и пр., блок ex304 обработки аудиосигнала кодирует аудиосигнал, и блок ex305 обработки видеосигнала кодирует видеосигнал, под управлением блока ex310 управления с использованием способа кодирования, описанного в каждом из вариантов осуществления. Блок ex303 мультиплексирования/демультиплексирования мультиплексирует кодированные видеосигнал и аудиосигнал, и выдает результирующий сигнал. Когда блок ex303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы можно временно сохранять в буферах ex320 и ex321, и пр. чтобы сигналы воспроизводились синхронно друг с другом. При этом, буферы ex318, ex319, ex320 и ex321 могут быть множественными, как показано, или, по меньшей мере, один буфер может обобществляться в телевизоре ex300. Кроме того, данные можно сохранять в буфере во избежание перегрузки и недогрузки системы, например, между блоком ex302 модуляции/демодуляции и блоком ex303 мультиплексирования/демультиплексирования.
[0196] Кроме того, телевизор ex300 может включать в себя конфигурацию для приема AV-входа от микрофона или камеры, отличную от конфигурации для получения аудио- и видеоданных из широковещательной передачи или носителя записи, и может кодировать полученные данные. Хотя телевизор ex300 может кодировать, мультиплексировать и выводить данные в описании, он может быть способен только принимать, декодировать и выводить данные, но не кодировать, мультиплексировать и выводить данные.
[0197] Кроме того, когда устройство ex218 чтения/записи считывает или записывает мультиплексированные данные с носителя записи или на него, один из телевизора ex300 и устройства ex218 чтения/записи может декодировать или кодировать мультиплексированные данные, и телевизор ex300 и устройство ex218 чтения/записи могут совместно осуществлять декодирование или кодирование.
[0198] В порядке примера, фиг.19 иллюстрирует конфигурацию блока ex400 воспроизведения/записи информации при чтении или записи данных с оптического диска или на него. Блок ex400 воспроизведения/записи информации включает в себя составные элементы ex401, ex402, ex403, ex404, ex405, ex406 и ex407, описанные далее. Оптическая головка ex401 формирует лазерное пятно на рабочей поверхности носителя ex215 записи, который представляет собой оптический диск, для записи информации, и регистрирует свет, отраженный от рабочей поверхности носителя ex215 записи, для чтения информации. Блок ex402 модуляционной записи электрически управляет полупроводниковым лазером, входящим в состав оптической головки ex401, и модулирует лазерный свет согласно записанным данным. Блок ex403 демодуляционного воспроизведения усиливает сигнал воспроизведения, полученный путем электрической регистрации света, отраженного от рабочей поверхности, с использованием фотодетектора, входящего в состав оптической головки ex401, и демодулирует сигнал воспроизведения путем выделения компонента сигнала, записанного на носитель ex215 записи, для воспроизведения необходимой информации. Буфер ex404 временно удерживает информацию, подлежащую записи на носитель ex215 записи, и информацию, воспроизводимую с носителя ex215 записи. Двигатель ex405 привода вращает носитель ex215 записи. Блок ex406 сервоуправления перемещает оптическую головку ex401 на заранее определенную информационную дорожку, одновременно управляя оборотами двигателя ex405 привода, чтобы следовать за лазерным пятном. Системный блок ex407 управления управляет, в целом, блоком ex400 воспроизведения/записи информации. Процессы чтения и записи могут быть реализованы системным блоком ex407 управления с использованием различной информации, хранящейся в буфере ex404, и, при необходимости, генерации и добавления новой информации, и блоком ex402 модуляционной записи, блоком ex403 демодуляционного воспроизведения и блоком ex406 сервоуправления, которые записывают и воспроизводят информацию через оптическую головку ex401, действуя в согласовании друг с другом. Системный блок ex407 управления включает в себя, например, микропроцессор, и выполняет обработку, предписывая компьютеру выполнять программу для чтения и записи.
[0199] Хотя, согласно описанию, оптическая головка ex401 формирует лазерное пятно, она может осуществлять запись высокой плотности с использованием ближнеполевого света.
[0200] Фиг.20 иллюстрирует носитель ex215 записи, который представляет собой оптический диск. На рабочей поверхности носителя ex215 записи, направляющие канавки сформированы в виде спирали, и в информационной дорожке ex230 заранее записана информация адреса, указывающая абсолютную позицию на диске согласно изменению формы направляющих канавок. Информация адреса включает в себя информацию для определения позиций блоков ex231 записи, которые являются единицами записи данных. Воспроизведение информационной дорожки ex230 и считывание информации адреса в устройстве, которое записывает и воспроизводит данные, может приводить к определению позиций блоков записи. Кроме того, носитель ex215 записи включает в себя область ex233 записи данных, область ex232 внутреннего периметра и область ex234 внешнего периметра. Область ex233 записи данных это область для использования при записи пользовательских данных. Область ex232 внутреннего периметра и область ex234 внешнего периметра, которые располагаются внутри и снаружи области ex233 записи данных, соответственно, предназначены для конкретного использования, за исключением записи пользовательских данных. Блок 400 воспроизведения/записи информации считывает и записывает кодированные аудиоданные, кодированные видеоданные или мультиплексированные данные, полученные путем мультиплексирования кодированных аудио- и видеоданных, из и на область ex233 записи данных носителя ex215 записи.
[0201] Хотя в описании, в порядке примера, описан оптический диск, имеющий слой, например, DVD и BD, оптический диск этим не ограничивается, и может представлять собой оптический диск, имеющий многослойную структуру и пригодный к осуществлению записи на части, отличной от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, например, записи информации с использованием света цветов с разными длинами волны на одном и том же участке оптического диска и для записи информации, имеющей разные слои под различными углами.
[0202] Кроме того, автомобиль ex210, имеющий антенну ex205, может принимать данные от спутника ex202 и пр., и воспроизводить видео на устройстве отображения, например, автомобильной навигационной системы ex211, установленной в автомобиле ex210, в системе ex200 цифрового вещания. В данном случае, конфигурация автомобильной навигационной системы ex211 представляет собой конфигурацию, например, включающую в себя GPS-приемник из конфигурации, изображенной на фиг.18. То же самое справедливо для конфигурации компьютера ex111, сотового телефона ex114, и пр.
[0203] Фиг.21A иллюстрирует сотовый телефон ex114, где используются способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в вариантах осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; блок ex365 камеры, способный захватывать движущиеся и неподвижные изображения; и блок ex358 отображения, например, жидкокристаллический дисплей, для отображения данных, например, декодированного видеосигнала, захваченного блоком ex365 камеры или принятого антенной ex350. Сотовый телефон ex114 дополнительно включает в себя: блок основного корпуса, включающий в себя блок ex366 операционных клавиш; блок ex357 вывода аудиосигнала, например, громкоговоритель, для вывода аудиосигнала; блок ex356 ввода аудиосигнала, например, микрофон, для ввода аудиосигнала; блок ex367 памяти для хранения захваченного видео и неподвижных изображений, записанного аудиосигнала, кодированных или декодированных данных принятого видео, неподвижных изображений, сообщений электронной почты и пр.; и щелевой блок ex364, который является блоком интерфейса для носителя записи, который сохраняет данные таким же образом, как блок ex367 памяти.
[0204] Далее, со ссылкой на фиг.21B, будет описан пример конфигурации сотового телефона ex114. В сотовом телефоне ex114, главный блок ex360 управления, предназначенный для общего управления каждым блоком основного корпуса, в том числе, блоком ex358 отображения, а также блоком ex366 операционных клавиш, взаимосвязан, через синхронную шину ex370, с блоком ex361 питания, блоком ex362 управления вводом операций, блоком ex355 обработки видеосигнала, блоком ex363 интерфейса камеры, блоком управления жидкокристаллическим дисплеем (ЖКД) ex359, блоком ex352 модуляции/демодуляции, блоком ex353 мультиплексирования/демультиплексирования, блоком ex354 обработки аудиосигнала, щелевым блоком ex364 и блоком ex367 памяти.
[0205] При включении клавиши окончания вызова или кнопки питания посредством операции пользователя, блок ex361 питания снабжает соответствующие блоки энергией из аккумуляторной батареи для активации сотового телефона ex114.
[0206] В сотовом телефоне ex114, блок ex354 обработки аудиосигнала преобразует аудиосигналы, собранные блоком ex356 ввода аудиосигнала в режиме речевой связи, в цифровые аудиосигналы под управлением главного блока ex360 управления, включающего в себя ЦП, ПЗУ и ОЗУ. Затем блок ex352 модуляции/демодуляции осуществляет обработку расширения по спектру на цифровых аудиосигналах, и блок ex351 передачи и приема осуществляет цифро-аналоговое преобразование и преобразование частоты на данных, для передачи результирующих данных через антенну ex350. Кроме того, в сотовом телефоне ex114, блок ex351 передачи и приема усиливает данные, принятые антенной ex350 в режиме речевой связи, и осуществляет преобразование частоты и аналого-цифровое преобразование на данных. Затем блок ex352 модуляции/демодуляции осуществляет обратную обработку расширения по спектру на данных, и блок ex354 обработки аудиосигнала преобразует их в аналоговые аудиосигналы, для вывода их через блок ex357 вывода аудиосигнала.
[0207] Кроме того, при передаче электронной почты в режиме передачи данных, текстовые данные электронной почты, введенные с помощью блока ex366 операционных клавиш и пр. основного корпуса, отправляются на главный блок ex360 управления через блок ex362 управления вводом операций. Главный блок ex360 управления предписывает блоку ex352 модуляции/демодуляции осуществлять обработку расширения по спектру на текстовых данных, и блок ex351 передачи и приема осуществляет цифро-аналоговое преобразование и преобразование частоты на результирующих данных для передачи данных на базовую станцию ex110 через антенну ex350. При приеме электронной почты, на принятых данных осуществляется обработка, приблизительно обратная обработке для передачи электронной почты, и результирующие данные поступают на блок ex358 отображения.
[0208] При передаче видео, неподвижных изображений или видео и аудио в режиме передачи данных, блок ex355 обработки видеосигнала сжимает и кодирует видеосигналы, поступающие от блока ex365 камеры, с использованием способа кодирования движущихся изображений, показанного в каждом из вариантов осуществления (т.е. функционирует как устройство кодирования изображений согласно настоящему изобретению), и передает кодированные видеоданные на блок ex353 мультиплексирования/демультиплексирования. Напротив, когда блок ex365 камеры захватывает видео, неподвижные изображения, и пр., блок ex354 обработки аудиосигнала кодирует аудиосигналы, собранные блоком ex356 ввода аудиосигнала, и передает кодированные аудиоданные на блок ex353 мультиплексирования/демультиплексирования.
[0209] Блок ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, поступающие от блока ex355 обработки видеосигнала, и кодированные аудиоданные, поступающие от блока ex354 обработки аудиосигнала, с использованием заранее определенного способа. Затем блок модуляции/демодуляции (схема модуляции/демодуляции) ex352 осуществляет обработку расширения по спектру на мультиплексированных данных, и блок ex351 передачи и приема осуществляет цифро-аналоговое преобразование и преобразование частоты на данных для передачи результирующих данных через антенну ex350.
[0210] При приеме данных видеофайла, который привязан к веб-странице и пр. в режиме передачи данных, или при приеме электронной почты с присоединенным видео и/или аудио, для декодирования мультиплексированных данных, принятых через антенну ex350, блок ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные на битовый поток видеоданных и битовый поток аудиоданных, и подает на блок ex355 обработки видеосигнала кодированные видеоданные и на блок ex354 обработки аудиосигнала кодированные аудиоданные через синхронную шину ex370. Блок ex355 обработки видеосигнала декодирует видеосигнал с использованием способа декодирования движущихся изображений, соответствующего способу кодирования движущихся изображений, представленному в каждом из вариантов осуществления (т.е. функционирует как устройство декодирования изображений согласно настоящему изобретению), и затем блок ex358 отображения отображает, например, видео и неподвижные изображения, включенные в видеофайл, привязанный к веб-странице, через блок ex359 управления ЖКД. Кроме того, блок ex354 обработки аудиосигнала декодирует аудиосигнал, и блок ex357 вывода аудиосигнала выводит аудиосигнал.
[0211] Кроме того, аналогично телевизору ex300, терминал, например, сотовый телефон ex114, вероятно имеет 3 типа конфигураций реализации, включающие в себя не только (i) передающий и принимающий терминал, включающий в себя устройство кодирования и устройство декодирования, но и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) принимающий терминал, включающий в себя только устройство декодирования. Хотя, согласно описанию, система ex200 цифрового вещания принимает и передает мультиплексированные данные, полученные путем мультиплексирования аудиоданных на видеоданные, мультиплексированные данные могут представлять собой данные, полученные путем мультиплексирования не аудиоданных, а данных символов, связанных с видео, на видеоданные, и могут представлять собой не мультиплексированные данные, а сами видеоданные.
[0212] Таким образом, способ кодирования движущихся изображений и способ декодирования движущихся изображений в каждом из вариантов осуществления можно использовать в любом из описанных устройств и систем. Таким образом, можно получить преимущества, описанные в каждом из вариантов осуществления.
[0213] Кроме того, настоящее изобретение не ограничивается вариантами осуществления, и возможны различные модификации и ревизии, не выходящие за рамки объема настоящего изобретения.
[0214] Вариант осуществления 7
Видеоданные могут генерироваться путем переключения, при необходимости, между (i) способом кодирования движущихся изображений или устройством кодирования движущихся изображений, представленных в каждом из вариантов осуществления, и (ii) способом кодирования движущихся изображений или устройством кодирования движущихся изображений в соответствии с тем или иным стандартом, например, MPEG-2, MPEG-4 AVC и VC-1.
[0215] При этом, когда множество видеоданных, которое согласуется с разными стандартами, генерируется и затем декодируется, способы декодирования необходимо выбирать в соответствии с разными стандартами. Однако, поскольку невозможно установить, с каким стандартом согласуется каждый элемент из множества видеоданных, подлежащих декодированию, проблема состоит в невозможности выбрать надлежащий способ декодирования.
[0216] Для решения проблемы, мультиплексированные данные, полученные путем мультиплексирования аудиоданных и других данных в видеоданные, имеют структуру, включающую в себя информацию идентификации, указывающую, с каким стандартом согласуются видеоданные. Конкретная структура мультиплексированных данных, включающих в себя видеоданные, генерируемые способом кодирования движущихся изображений и устройством кодирования движущихся изображений, представленными в каждом из вариантов осуществления, будут описаны далее. Мультиплексированные данные представляют собой цифровой поток в формате транспортного потока MPEG-2.
[0217] Фиг.22 иллюстрирует структуру мультиплексированных данных. Согласно фиг.22, мультиплексированные данные можно получить путем мультиплексирования, по меньшей мере, одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео кинофильма, аудиопоток (IG) представляет первичную аудио-часть и вторичную аудио-часть, подлежащую смешиванию с первичной аудио-частью, и поток презентационной графики представляет субтитры кинофильма. В данном случае, первичное видео представляет собой нормальное видео, подлежащее отображению на экране, и вторичное видео представляет собой видео, подлежащее отображению в окне меньшего размера в первичное видео. Кроме того, поток интерактивной графики представляет интерактивный экран, подлежащий генерации путем размещения компонентов GUI на экране. Видеопоток кодируется способом кодирования движущихся изображений или устройством кодирования движущихся изображений, представленными в каждом из вариантов осуществления, или способом кодирования движущихся изображений или устройством кодирования движущихся изображений в соответствии с общепринятым стандартом, например, MPEG-2, MPEG-4 AVC и VC-1. Аудиопоток кодируется в соответствии со стандартом, например, Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD и линейным PCM.
[0218] Каждый поток, включенный в мультиплексированные данные, идентифицируется посредством PID. Например, 0x1011 выделяется видеопотоку, подлежащему использованию для видео кинофильма, 0x1100-0x111F выделяются аудиопотокам, 0x1200-0x121F выделяются потокам презентационной графики, 0x1400-0x141F выделяются потокам интерактивной графики, 0x1B00-0x1B1F выделяются видеопотокам, подлежащим использованию для вторичного видео кинофильма, и 0x1A00-0x1A1F выделяются аудиопотокам подлежащим использованию для вторичного аудио, подлежащего смешиванию с первичным аудио.
[0219] Фиг.23 схематически иллюстрирует мультиплексирование данных. Прежде всего, видеопоток ex235, состоящий из кадров видео, и аудиопоток ex238, состоящий из кадров аудио, преобразуются в поток PES ex236 пакетов и поток ex239 PES пакетов, и далее, в пакеты ex237 TS и пакеты ex240 TS, соответственно. Аналогично, данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразуются в поток ex242 PES пакетов и поток ex245 PES пакетов, и далее в пакеты ex243 TS и пакеты ex246 TS, соответственно. Эти пакеты TS мультиплексируются в поток для получения мультиплексированных данных ex247.
[0220] Фиг.24 иллюстрирует более подробно, как видеопоток сохраняется в потоке пакетов PES. Первая полоска на фиг.24 демонстрирует поток кадров видео в видеопотоке. Вторая полоска демонстрирует поток пакетов PES. Как указано стрелками, обозначенными yy1, yy2, yy3 и yy4 на фиг.24, видеопоток делится на изображения, а именно, I-изображения, B-изображения и P-изображения, каждое из которых является презентационной единицей видео, и изображения хранятся в полезной нагрузке каждого из пакетов PES. Каждый из пакетов PES имеет заголовок PES, и в заголовке PES хранятся метка времени презентации (PTS), указывающая время отображения изображения, и метка времени декодирования (DTS), указывающая время декодирования изображения.
[0221] Фиг.25 иллюстрирует формат пакетов TS, подлежащих окончательной записи на мультиплексированных данных. Каждый из пакетов TS представляет собой пакет фиксированной длины 188 байт, включающий в себя 4-байтовый заголовок TS, имеющий информацию, например PID, для идентификации потока, и 184-байтовую полезную нагрузку TS для хранения данных. Пакеты PES делятся и хранятся в участках полезной нагрузки TS, соответственно. При использовании BD ROM, каждому из пакетов TS придается 4-байтовый TP_Extra_Header, в результате чего, получаются 192-байтовые исходные пакеты. Исходные пакеты записываются на мультиплексированных данных. В TP_Extra_Header хранится такая информация, как Arrival_Time_Stamp (ATS). ATS указывает время начала переноса, когда каждый из пакетов TS нужно переносить на фильтр PID. Исходные пакеты размещаются в мультиплексированных данных, как показано в нижней части фиг.25. Числа, возрастающие от головы мультиплексированных данных, называются номерами исходных пакетов (SPN).
[0222] Каждый из пакетов TS, включенный в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитров и пр., но и таблицу ассоциаций программы (PAT), таблицу карты программы (PMT) и временную отметку программы (PCR). PAT показывает, что указывает PID в PMT, используемой в мультиплексированных данных, и PID самой PAT зарегистрирован как нуль. В PMT хранятся PID потоков аудио, видео, субтитров и пр., включенных в мультиплексированные данные, и информация атрибутов потоков, соответствующих PID. PMT также имеет различные описатели, относящиеся к мультиплексированным данным. Описатели имеют информацию, например, информацию контроля копирования, указывающую, разрешено ли копирование мультиплексированных данных. В PCR хранится информация времени STC, соответствующая ATS, указывающая, когда пакет PCR переносится на декодер, для достижения синхронизации между датчиком времени прихода (ATC), который является осью времени ATS, и датчиком системного времени (STC), который является осью времени PTS и DTS.
[0223] Фиг.26 подробно иллюстрирует структуру данных PMT. Заголовок PMT располагается в верхней части PMT. Заголовок PMT описывает длину данных, включенных в PMT и пр. Множество описателей, относящихся к мультиплексированным данным, располагается после заголовка PMT. В описателях описана такая информация, как информация контроля копирования. После описателей располагается множество фрагментов информации потока, относящихся к потокам, включенным в мультиплексированные данные. Каждый фрагмент информации потока включает в себя описатели потока, каждый из которых описывает информацию, например, тип потока для идентификации сжимающего кодека потока, PID потока и информацию атрибутов потока (например, частоту кадров или аспектное отношение). Количество описателей потока равно количеству потоков в мультиплексированных данных.
[0224] При записи мультиплексированных данных на носитель записи и пр., они записываются совместно с информационными файлами мультиплексированных данных.
[0225] Каждый из информационных файлов мультиплексированных данных является информацией управления мультиплексированных данных, как показано на фиг.27. Информационные файлы мультиплексированных данных находятся во взаимно-однозначном соответствии с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту ввода.
[0226] Согласно фиг.27, информация мультиплексированных данных включают в себя системную скорость, время начала воспроизведения и время окончания воспроизведения. Системная скорость указывает максимальную скорость переноса, с которой декодер цели системы, описанный ниже, переносит мультиплексированные данные на фильтр PID. Интервалы ATS, включенных в мультиплексированные данные, устанавливаются не превышающими системную скорость. Время начала воспроизведения указывает PTS в кадре видео в голове мультиплексированных данных. Интервал одного кадра добавляется к PTS в кадре видео в конце мультиплексированных данных, и PTS устанавливается на время окончания воспроизведения.
[0227] Как показано на фиг.28, фрагмент информации атрибутов регистрируется в информации атрибутов потока, для каждого PID каждого потока, включенного в мультиплексированные данные. Каждый фрагмент информации атрибутов имеет разную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждый фрагмент информации атрибутов видеопотока несет информацию, включающую в себя разновидность сжимающего кодека, используемого для сжатия видеопотока, и разрешение, аспектное отношение и частоту кадров фрагментов данных изображения, которое включено в видеопоток. Каждый фрагмент информации атрибутов аудиопотока несет информацию, включающую в себя разновидность сжимающего кодека, используемого для сжатия аудиопотока, количество каналов, включенных в аудиопоток, язык, поддерживаемый аудиопотоком, и частоту дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера до воспроизведения информации на проигрывателе.
[0228] В настоящем варианте осуществления, мультиплексированные данные, подлежащие использованию представляют собой тип потока, включенный в PMT. Кроме того, когда мультиплексированные данные записываются на носитель записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. В частности, способ кодирования движущихся изображений или устройство кодирования движущихся изображений, описанные в каждом из вариантов осуществления, включает в себя этап или блок для выделения уникальной информации, указывающей видеоданные, генерируемые способом кодирования движущихся изображений или устройством кодирования движущихся изображений в каждом из вариантов осуществления, типу потока, включенному в PMT или информацию атрибутов видеопотока. Благодаря конфигурации, видеоданные, генерируемые способом кодирования движущихся изображений или устройством кодирования движущихся изображений, описанным в каждом из вариантов осуществления можно отличить от видеоданных, которые согласуются с другим стандартом.
[0229] Кроме того, фиг.29 иллюстрирует этапы способа декодирования движущихся изображений согласно настоящему варианту осуществления. На этапе exS100, тип потока, включенный в PMT, или информация атрибутов видеопотока, включенная в информацию мультиплексированных данных, получается из мультиплексированных данных. Затем, на этапе exS101, производится определение, указывает ли тип потока или информация атрибутов видеопотока, что мультиплексированные данные генерируются способом кодирования движущихся изображений или устройством кодирования движущихся изображений в каждом из вариантов осуществления. Когда принимается решение, что тип потока или информация атрибутов видеопотока указывает, что мультиплексированные данные генерируются способом кодирования движущихся изображений или устройством кодирования движущихся изображений в каждом из вариантов осуществления, на этапе exS102, декодирование осуществляется способом декодирования движущихся изображений в каждом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывает согласованность с общепринятыми стандартами, например, MPEG-2, MPEG-4 AVC и VC-1, на этапе exS103, декодирование осуществляется способом декодирования движущихся изображений в соответствии с общепринятыми стандартами.
[0230] Таким образом, выделение нового уникального значения типу потока или информации атрибутов видеопотока позволяет определить, может ли способ декодирования движущихся изображений или устройство декодирования движущихся изображений, которые описаны в каждом из вариантов осуществления, осуществлять декодирование. Даже при вводе мультиплексированных данных, которые согласуются с другим стандартом, можно выбирать надлежащий способ или устройство декодирования. Таким образом, появляется возможность декодировать информацию без ошибок. Кроме того, способ или устройство кодирования движущихся изображений, или способ или устройство декодирования движущихся изображений в настоящем варианте осуществления можно использовать в описанных выше устройствах и системах.
[0231] Вариант осуществления 8
Каждый из способа кодирования движущихся изображений, устройства кодирования движущихся изображений, способа декодирования движущихся изображений и устройства декодирования движущихся изображений в каждом из вариантов осуществления обычно осуществляется в форме интегральной схемы или большой интегральной схемы (БИС). В порядке примера БИС, фиг.30 иллюстрирует конфигурацию БИС ex500, которая выполнена на одном кристалле. БИС ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, описанные ниже, и элементы соединены друг с другом через шину ex510. Блок питания ex505 активируется, снабжая энергией каждый из элементов, когда блок питания ex505 включен.
[0232] Например, при осуществлении кодирования, БИС ex500 принимает AV-сигнал от микрофона ex117, камеры ex113, и пр. через I/O ex509 AV под управлением блока ex501 управления, включающего в себя ЦП ex502, контроллер ex503 памяти, контроллер ex504 потоков и блок ex512 управления частотой возбуждения. Принятый AV-сигнал временно хранится во внешней памяти ex511, например SDRAM. Под управлением блока ex501 управления, сохраненные данные сегментируются на фрагменты данных, согласно объему и скорости обработки, подлежащие передаче на блок ex507 обработки сигнала. Затем блок ex507 обработки сигнала кодирует аудиосигнал и/или видеосигнал. В данном случае, кодирование видеосигнала является кодированием, описанным в каждом из вариантов осуществления. Кроме того, блок ex507 обработки сигнала иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и I/O ex506 потока выводит мультиплексированные данные. Обеспеченные мультиплексированные данные передаются на базовую станцию ex107 или записываются на носитель ex215 записи. При мультиплексировании массивов данных, данные следует временно сохранять в буфере ex508, чтобы массивы данных были синхронизированы друг с другом.
[0233] Хотя память ex511 является элементом вне БИС ex500, она может входить в состав БИС ex500. Буфер ex508 не ограничивается одним буфером, но может состоять из буферов. Кроме того, БИС ex500 может быть выполнена на одном кристалле или множестве кристаллов.
[0234] Кроме того, хотя блок ex501 управления включает в себя ЦП ex502, контроллер ex503 памяти, контроллер ex504 потоков, блок ex512 управления частотой возбуждения, конфигурация блока ex501 управления этим не ограничивается. Например, блок ex507 обработки сигнала может дополнительно включать в себя ЦП. Включение еще одного ЦП в блок ex507 обработки сигнала позволяет повысить скорость обработки. Кроме того, в порядке другого примера, ЦП ex502 может выступать в качестве или составлять часть блока ex507 обработки сигнала и, например, может включать в себя блок обработки аудиосигнала. В таком случае, блок ex501 управления включает в себя блок ex507 обработки сигнала или ЦП ex502, включающий в себя часть блока ex507 обработки сигнала.
[0235] Здесь употребляется название БИС, но ее также можно называть ИС, системной БИС, сверх-БИС или ультра-БИС в зависимости от степени интеграции.
[0236] Кроме того, подходы к достижению интеграции не ограничиваются БИС, и специальная схема или процессор общего назначения и т.д. также могут обеспечивать интеграцию. В тех же целях можно использовать вентильную матрицу, программируемую пользователем (FPGA), которую можно программировать после изготовления БИС, или переконфигурируемый процессор, который допускает переконфигурирование соединения или конфигурации БИС.
[0237] В будущем, с развитием полупроводниковой технологии, совершенно новая технология может заменить БИС. С использованием такой технологии можно интегрировать функциональные блоки. Существует возможность применения настоящего изобретения к биотехнологии.
[0238] Вариант осуществления 9
В случае декодирования видеоданных, генерируемых способом кодирования движущихся изображений или устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления, по сравнению со случаем декодирования видеоданных, которые согласуются с общепринятым стандартом, например, MPEG-2, MPEG-4 AVC и VC-1, объем обработки, вероятно, возрастает. Таким образом, БИС ex500 необходимо устанавливать на частоту возбуждения, более высокую, чем у ЦП ex502, подлежащего использованию, когда видеоданные в соответствии с общепринятым стандартом декодируются. Однако при установке более высокой частоты возбуждения, возникает проблема роста энергопотребления.
[0239] Для решения проблемы, устройство декодирования движущихся изображений, например, телевизор ex300 и БИС ex500, сконфигурированы для определения, с каким стандартом согласуются видеоданные, и переключения между частотами возбуждения согласно определенному стандарту. Фиг.31 иллюстрирует конфигурацию ex800 в настоящем варианте осуществления. Блок ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения, когда видеоданные генерируются способом кодирования движущихся изображений или устройством кодирования движущихся изображений описанный в каждом из вариантов осуществления. Затем блок ex803 переключения частоты возбуждения предписывает блоку ex801 обработки декодирования, который выполняет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, декодировать видеоданные. Когда видеоданные согласуются с общепринятым стандартом, блок ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем у видеоданных, генерируемых способом кодирования движущихся изображений или устройством кодирования движущихся изображений описанный в каждом из вариантов осуществления. Затем блок ex803 переключения частоты возбуждения предписывает блоку ex802 обработки декодирования, который согласуется с общепринятым стандартом декодировать видеоданные.
[0240] В частности, блок ex803 переключения частоты возбуждения включает в себя ЦП ex502 и блок ex512 управления частотой возбуждения, показанные на фиг.30. При этом каждый из блока ex801 обработки декодирования, который выполняет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и блока ex802 обработки декодирования, который согласуется с общепринятым стандартом, соответствует блоку ex507 обработки сигнала, показанному на фиг.30. ЦП ex502 определяет, с каким стандартом согласуются видеоданные. Затем блок ex512 управления частотой возбуждения определяет частоту возбуждения на основании сигнала от ЦП ex502. Кроме того, блок ex507 обработки сигнала декодирует видеоданные, на основании сигнала от ЦП ex502. Например, информация идентификации, описанная согласно варианту осуществления 7, вероятно, используется для идентификации видеоданных. Информация идентификации не ограничивается информацией, описанной согласно варианту осуществления 7, но может представлять собой любую информацию, при условии, что информация указывает, с каким стандартом согласуются видеоданные. Например, когда стандарт, с которым согласуются видеоданные, можно определить на основании внешнего сигнала, для определения, что видеоданные используются для телевизора или диска, и т.д., определение можно производить на основании такого внешнего сигнала. Кроме того, ЦП ex502 выбирает частоту возбуждения на основании, например, поисковой таблицы, в которой стандарты видеоданных связаны с частотами возбуждения, как показано на фиг.33. Частоту возбуждения можно выбирать путем сохранения поисковой таблицы в буфере ex508 и во внутренней памяти БИС, и обращения к поисковой таблице со стороны ЦП ex502.
[0241] Фиг.32 иллюстрирует этапы выполнения способа в настоящем варианте осуществления. Сначала, на этапе exS200, блок ex507 обработки сигнала получает информацию идентификации из мультиплексированных данных. Затем, на этапе exS201, ЦП ex502 определяет, генерируются ли видеоданные способом кодирования и устройством кодирования, описанными в каждом из вариантов осуществления, на основании информации идентификации. Когда видеоданные генерируются способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления, на этапе exS202, ЦП ex502 передает сигнал для установления частоты возбуждения на более высокую частоту возбуждения на блок ex512 управления частотой возбуждения. Затем блок ex512 управления частотой возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения. С другой стороны, когда информация идентификации указывает, что видеоданные согласуются с общепринятым стандартом, например, MPEG-2, MPEG-4 AVC и VC-1, на этапе exS203, ЦП ex502 передает сигнал для установления частоты возбуждения на более низкую частоту возбуждения на блок ex512 управления частотой возбуждения. Затем блок ex512 управления частотой возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем в случае, когда видеоданные генерируются способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления.
[0242] Кроме того, помимо переключения частот возбуждения, энергосберегающий эффект можно усилить, изменяя напряжение, подаваемое на БИС ex500 или устройство, включающее в себя БИС ex500. Например, при установлении более низкой частоты возбуждения, напряжение, подаваемое на БИС ex500 или устройство, включающее в себя БИС ex500, вероятно, устанавливается на напряжение, более низкое, чем в случае установления более высокой частоты возбуждения.
[0243] Кроме того, при увеличении объема обработки для декодирования, можно устанавливать более высокую частоту возбуждения, и при уменьшении объема обработки для декодирования, можно устанавливать более низкую частоту возбуждения согласно способу установления частоты возбуждения. Таким образом, способ установления не ограничивается вышеописанным примером. Например, когда объем обработки для декодирования видеоданных в соответствии с MPEG-4 AVC, больше, чем объем обработки для декодирования видеоданных, генерируемых способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления, частота возбуждения, вероятно, будет устанавливаться в порядке, обратном описанному выше.
[0244] Кроме того, способ установления частоты возбуждения не ограничивается способом установления более низкой частоты возбуждения. Например, когда информация идентификации указывает, что видеоданные генерируются способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления, напряжение, подаваемое на БИС ex500 или устройство, включающее в себя БИС ex500, вероятно, устанавливается более высоким. Когда информация идентификации указывает, что видеоданные согласуются с общепринятым стандартом, например, MPEG-2, MPEG-4 AVC и VC-1, напряжение, подаваемое на БИС ex500 или устройство, включающее в себя БИС ex500, вероятно, устанавливается более низким. В порядке другого примера, когда информация идентификации указывает, что видеоданные генерируются способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления, работу ЦП ex502, вероятно, не придется приостанавливать. Когда информация идентификации указывает, что видеоданные согласуются с общепринятым стандартом, например, MPEG-2, MPEG-4 AVC и VC-1, работа ЦП ex502, вероятно, приостанавливается в определенное время, поскольку ЦП ex502 имеет дополнительную емкость обработки. Даже когда информация идентификации указывает, что видеоданные генерируются способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления, в случае, когда ЦП ex502 имеет дополнительную емкость обработки, работа ЦП ex502, вероятно, приостанавливается в определенное время. В таком случае, когда время приостановки, вероятно, установлено более коротким, чем в случае, когда информация идентификации указывает, что видеоданные согласуются с общепринятым стандартом, например, MPEG-2, MPEG-4 AVC и VC-1.
[0245] Соответственно, энергосберегающий эффект можно усилить путем переключения между частотами возбуждения в соответствии со стандартом, с которым согласуются видеоданные. Кроме того, когда БИС ex500 или устройство, включающее в себя БИС ex500, возбуждается с использованием батареи, время работы батареи можно продлить, благодаря энергосберегающему эффекту.
[0246] Вариант осуществления 10
В ряде случаев, множество видеоданных, которые согласуются с разными стандартами, поступает на устройства и системы, например, телевизор и сотовый телефон. Для обеспечения декодирования множества видеоданных, которые согласуются с разными стандартами, блок ex507 обработки сигнала БИС ex500 должен соответствовать разным стандартам. Однако проблемы увеличения масштаба схемы БИС ex500 и увеличения стоимости возникают при индивидуальном использовании сигнала единицы обработки ex507, которые согласуются с соответствующими стандартами.
[0247] Для решения данной проблемы предусмотрена конфигурация, в которой блок обработки декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, и блок обработки декодирования, который согласуется с общепринятым стандартом, например, MPEG-2, MPEG-4 AVC и VC-1 частично обобществляются. Ex900 на фиг.34A показывает пример конфигурации. Например, способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и способ декодирования движущихся изображений, который согласуется с MPEG-4 AVC, имеет, частично в общем случае, детали обработки, например, энтропийное кодирование, обратное квантование, деблокирующую фильтрацию и прогнозирование с компенсацией движения. Детали обработки, подлежащие обобществлению, вероятно, включают в себя использование блока ex902 обработки декодирования, который согласуется с MPEG-4 AVC. Напротив, специальный блок ex901 обработки декодирования, вероятно, используется для других обработок, уникальных для настоящего изобретения. Поскольку настоящее изобретение отличается тем, что обработка разделения в частности, например, специальный блок ex901 обработки декодирования, используется для обработки разделения. В противном случае, блок обработки декодирования, вероятно, обобществляется для одного из энтропийного декодирования, обратного квантования, деблокирующей фильтрации и компенсации движения, или для всей обработки. Блок обработки декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, может обобществляться для обработки, подлежащей обобществлению, и специальный блок обработки декодирования можно использовать для обработки, уникальной для этого MPEG-4 AVC.
[0248] Кроме того, ex1000 на фиг.34B показан другой пример, в котором обработка частично обобществляется. Этот пример использует конфигурацию, включающую в себя специальный блок ex1001 обработки декодирования, который поддерживает обработку, уникальную для настоящего изобретения, специальный блок ex1002 обработки декодирования, который поддерживает обработку, уникальную для другого общепринятого стандарта, и блок ex1003 обработки декодирования, который поддерживает обработку, подлежащую обобществлению между способом декодирования движущихся изображений согласно настоящему изобретению и традиционным способом декодирования движущихся изображений. При этом специальные блоки ex1001 и ex1002 обработки декодирования не обязательно специализированы для обработки согласно настоящему изобретению и обработки по общепринятому стандарту, соответственно, и могут быть блоками, способными осуществлять общую обработку. Кроме того, конфигурация настоящего варианта осуществления может быть реализована посредством БИС ex500.
[0249] Таким образом, можно уменьшать масштаб схемы БИС и снижать стоимость за счет обобществления блока обработки декодирования для обработки, подлежащей обобществлению между способом декодирования движущихся изображений согласно настоящему изобретению и способом декодирования движущихся изображений в соответствии с общепринятым стандартом.
Промышленное применение
[0250] Способ кодирования изображений и способ декодирования изображений согласно настоящему изобретению позволяют эффективно описывать и реконструировать способ разделения блока, который не поддерживается традиционными способами кодирования и декодирования по сериям переменной длины. Благодаря этому, способ кодирования изображений и способ декодирования изображений имеют преимущества уменьшения большого объема кодирования, что позволяет использовать их в различных областях применения, например, хранении, передаче и связи. Например, настоящее изобретение можно использовать в устройствах отображения информации высокого разрешения и устройствах формирования изображения, например, телевизорах, цифровых устройствах видеозаписи, автомобильных навигационных системах, мобильных телефонах, цифровых камерах и цифровых видеокамерах.
Перечень ссылочных позиций
[0251] 100 устройство кодирования изображений
101 блок разности
102 блок преобразования
103 блок квантования
104 блок обратного квантования
105 блок обратного преобразования
106 сумматор
107 блок прогнозирования
108 блок управления кодированием
109 блок кодирования по сериям переменной длины
110 блок разделения
111 блок управления разделением
112 блок описания информации разделения
120 сигнал входного изображения
121 разделенный сигнал изображения
122 разностный сигнал
123, 125 коэффициент преобразования
124 информация квантованных коэффициентов преобразования
126 декодированный остаточный сигнал изображения
127 сигнал декодированного изображения
128 сигнал прогнозируемого изображения
129 сигнал управления делением
130, 131 информация разделения
130A информация режима разделения
132 сигнал управления кодированием
140 кодовая последовательность
200 устройство декодирования изображений
201 блок декодирования по сериям переменной длины
202 блок управления декодированием
203 блок обратного квантования
204 блок обратного преобразования
205 блок прогнозирования
206 сумматор
207 блок реконструкции информации разделения
221 декодированный сигнал
222 коэффициенты преобразования
223 декодированный остаточный сигнал изображения
224 сигнал прогнозируемого изображения
225 информация, связанная с генерацией прогнозируемого изображения
226 информация разделения
240 сигнал выходного изображения
900 текущий блок
901, 902 соседний блок
1101, 1104, 1105 обработанный кадр
1102, 1103 текущий кадр
CTB блок данных
CTBs сигнал блока
LCTB данные наибольшего размера блока
LCTBHdr заголовок наибольшего размера блока
PicHdr заголовок изображения
PicStr сигнал изображения
PicData данные изображения
SepInfo информация, связанная с разделением
SeqData данные последовательности
SeqHdr заголовок последовательности
SliceData данные среза
SliceHdr заголовок среза
SliceStr сигнал среза
TUHdr заголовок блока преобразования
TUs блок преобразования
Изобретение относится к способу и устройству кодирования/декодирования изображений для кодирования со сжатием видеосигнала с использованием компенсации движения. Техническим результатом является повышение эффективности кодирования/декодирования информации разделения, когда экран делится на различные блоки. Предложен способ кодирования изображений при котором разделяют сигнал (120) входного изображения на единицы обработки и кодируют разделенное изображение для генерации кодовой последовательности (140), причем способ кодирования изображений включает в себя этапы, на которых определяют шаблон разделения для иерархического разделения сигнала (120) входного изображения по порядку, начиная с наибольшей единицы из единиц обработки; генерируют информацию (131) разделения, указывающую шаблон разделения; и кодируют информацию (131) разделения, причем информация (131) разделения включает в себя информацию максимальной используемой глубины иерархии (used_max_depth), указывающую максимальную используемую глубину иерархии, которая представляет собой глубину иерархии самой глубокой единицы обработки из единиц обработки, включенных в шаблон разделения. 4 н. и 8 з.п. ф-лы, 59 ил.
1. Способ кодирования изображений для разделения изображения на единицы обработки и кодирования разделенного изображения для генерации кодовой последовательности, причем способ кодирования изображений содержит этапы, на которых
определяют шаблон разделения для иерархического разделения изображения на единицы обработки по порядку, начиная с наибольшей единицы в изображении в иерархическом формате,
генерируют информацию разделения, указывающую шаблон разделения, и
кодируют информацию разделения,
при этом информация разделения включает в себя информацию максимальной используемой глубины иерархии, указывающую максимальную используемую глубину иерархии, которая представляет собой глубину иерархии самой маленькой единицы обработки из единиц обработки, включенных в шаблон разделения, определенных для каждой наибольшей единицы в изображении.
2. Способ кодирования изображений по п. 1, в котором информация разделения дополнительно включает в себя информацию минимальной используемой глубины иерархии, указывающую минимальную используемую глубину иерархии, которая представляет собой глубину иерархии наиболее большой единицы обработки из единиц обработки, включенных в шаблон разделения, определенных для каждой наибольшей единицы в изображении.
3. Способ кодирования изображений по п. 2, в котором, при генерации информации разделения, информация разделения, которая включает в себя информацию минимальной используемой глубины иерархии, генерируется, когда максимальная используемая глубина иерархии является глубиной иерархии самой маленькой единицы обработки из единиц обработки, на которые может быть разделено изображение.
4. Способ кодирования изображений по п. 1,
в котором, при генерации информации разделения, при наличии возможности задавать для каждой из единиц обработки, с использованием максимальной используемой глубины иерархии, подлежит ли единица обработки дальнейшему разделению, информация, указывающая шаблон разделения единицы обработки, удаляется из информации разделения, и
при кодировании информации разделения, информация разделения, из которой удалена информация, кодируется.
5. Способ кодирования изображений по п. 2 или 3,
в котором, при генерации информации разделения, при наличии возможности задавать для каждой из единиц обработки, с использованием минимальной используемой глубины иерархии, подлежит ли единица обработки дальнейшему разделению, информация, указывающая шаблон разделения единицы обработки, удаляется из информации разделения, и
при кодировании информации разделения, информация разделения, из которой удалена информация, кодируется.
6. Способ кодирования изображений по любому из пп. 1-4, дополнительно содержащий этапы, на которых оценивают прогнозируемый шаблон разделения, который является прогнозируемым значением шаблона разделения текущей единицы обработки, с использованием шаблона разделения кодированной единицы обработки,
при этом, при определении шаблона разделения, шаблон разделения текущей единицы обработки определяется с использованием прогнозируемого шаблона разделения.
7. Способ кодирования изображений по п. 6, дополнительно содержащий этапы, на которых
вычисляют разность между шаблоном разделения и прогнозируемым шаблоном разделения,
при этом при кодировании информации разделения, информация разделения, которая включает в себя разность, кодируется.
8. Способ кодирования изображений по п. 6,
в котором, при оценивании прогнозируемого шаблона разделения, шаблон разделения текущей единицы обработки оценивается с использованием шаблона разделения единицы обработки, которая соседствует с текущей единицей обработки и находится в том же кадре, что и текущая единица обработки.
9. Способ кодирования изображений по п. 6,
в котором, при оценивании прогнозируемого шаблона разделения, шаблон разделения текущей единицы обработки оценивается с использованием шаблона разделения единицы обработки, включенной в другой временной кадр.
10. Способ декодирования изображений для декодирования кодовой последовательности, генерируемой способом кодирования изображений по любому из пп. 1-4, причем способ декодирования изображений содержит этапы, на которых
декодируют информацию разделения, включенную в кодовую последовательность, и
определяют шаблон разделения из декодированной информации разделения.
11. Устройство кодирования изображений для разделения изображения на единицы обработки и кодирования разделенного изображения для генерации кодовой последовательности, причем устройство кодирования изображений содержит
блок управления разделением, сконфигурированный для определения шаблона разделения для иерархического разделения изображения на единицы обработки по порядку, начиная с наибольшей единицы в изображении в иерархическом формате,
блок описания информации разделения, сконфигурированный для генерации информации разделения, указывающей шаблон разделения, и
блок кодирования, сконфигурированный для кодирования информации разделения,
в котором информация разделения включает в себя информацию максимальной используемой глубины иерархии, указывающую максимальную используемую глубину иерархии, которая представляет собой глубину иерархии самой маленькой единицы обработки из единиц обработки, включенных в шаблон разделения, определенных для каждой наибольшей единицы в изображении.
12. Устройство декодирования изображений для декодирования кодовой последовательности, генерируемой устройством кодирования изображений по п. 11, причем устройство декодирования изображений содержит блок декодирования, сконфигурированный для декодирования информации разделения, включенной в кодовую последовательность, и блок реконструкции информации разделения, сконфигурированный для определения шаблона разделения из декодированной информации разделения.
Test Model under Consideration, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JCTVC-A205, 1st Meeting: Dresden, 15-23 April 2010 | |||
US 2009046781 A1, 2009-02-19 | |||
ОСНОВАННОЕ НА КОНТЕКСТЕ АДАПТИВНОЕ НЕРАВНОМЕРНОЕ КОДИРОВАНИЕ ДЛЯ АДАПТИВНЫХ ПРЕОБРАЗОВАНИЙ БЛОКОВ | 2003 |
|
RU2330325C2 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ ВИДЕО И УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕО, ОСНОВАННЫЕ НА ИЕРАРХИЧЕСКОЙ ИНФОРМАЦИИ О СТРУКТУРЕ КОДИРОВАННОГО БЛОКА | 2010 |
|
RU2516444C2 |
THOMAS DAVIES et al, BBC’?s Response |
Авторы
Даты
2016-08-10—Публикация
2011-12-05—Подача