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

Область техники
[0001] Настоящее изобретение относится к способам кодирования изображений, способам декодирования изображений, устройствам кодирования изображений и устройствам декодирования изображений и, в частности, к способу кодирования изображений, способу декодирования изображений, устройству кодирования изображений, устройству декодирования изображений и устройству кодирования и декодирования изображений, предназначенным для осуществления арифметического кодирования и/или арифметического декодирования.
Уровень техники
[0002] В последние годы заметно увеличилось количество приложений для услуг, например, услуг типа видео по требованию. Примеры таких услуг включают в себя видеоконференцсвязь через интернет, вещание цифрового видео, и потоковая передача видеоконтента. Эти приложения требуют, чтобы видеоданные, имеющие существенный объем цифровых данных передавались по каналам передачи и сохранялись на носителях данных. Однако традиционные каналы передачи ограничены по полосе частот, и традиционные носители данных имеют ограниченную емкость. Соответственно, для передачи видеоданных с использованием традиционного канала передачи и для записи видеоданных на традиционный носитель записи, неизбежно приходится сжимать или уменьшать объем видеоданных.
[0003] В целях сжатия видеоданных, разработано большое количество стандартов кодирования видеосигнала. Такие стандарты кодирования видеосигнала представляют собой, например, стандарты International Telecommunication Union Telecommunication Standardization Sector (ITU-T), обозначенные как H.26x, и стандарты ISO/IEC, обозначенные как MPEG-x. Наиболее совершенными стандартами кодирования видеосигнала в настоящее время являются стандарты, обозначенные как H.264/AVC или MPEG-4/AVC (см. Непатентную Литературу 1 и Непатентную Литературу 2).
[0004] Процессы сжатия данных в стандарте H.264/AVC грубо можно разделить на прогнозирование, преобразование, квантование, и энтропийное кодирование. Энтропийное кодирование предназначено для сокращения избыточной информации в информации, которая должна быть использована для прогнозирования, и квантованной информации. Примеры энтропийного кодирования включают в себя кодирование переменной длины, адаптивное кодирование и кодирование фиксированной длины. Примеры кодирования переменной длины включают в себя кодирование Хаффмана, кодирование по длинам серий и арифметическое кодирование. Среди них, арифметическое кодирование известно как схема, которая предназначена для определения выходных кодов с использованием контекстов для идентификации вероятностей вхождения символа и которая обеспечивает высокую эффективность кодирования за счет переключения контекстов согласно особенностям данных изображения, по сравнению с кодированием Хаффмана, где используется фиксированная таблица кодирования.
Библиография
Непатентная литература
[0005]
[NPL 1]
MPEG-4 Part 10 Advanced Video Coding, ISO/IEC 14496 - 10,
[NPL 2]
Overview of the H. 264/AVC Video Coding Standard, Thomas Wiegand et al, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, JULY 2003, PP. 560-576
Сущность изобретения
Техническая проблема
[0006] Однако, традиционное арифметическое кодирование не обеспечивает достаточную эффективность кодирования.
[0007] Настоящее изобретение призвано решить вышеупомянутую проблему с целью обеспечения способа кодирования изображений, устройства кодирования изображений, способа декодирования изображений, устройства декодирования изображений и устройства кодирования и декодирования изображений, которые позволяют повысить эффективность кодирования.
Решение проблемы
[0008] Для решения вышеупомянутой проблемы, способ кодирования изображений согласно настоящему изобретению предназначен для кодирования со сжатием данных изображения, включающих в себя множество единиц обработки, имеющих взаимно различные размеры, причем способ кодирования изображений содержит этапы, на которых: получают текущие сигналы, которые должны быть кодированы, каждой из единиц обработки данных изображения (S401); генерируют двоичный сигнал путем осуществления бинаризации на каждом из текущих сигналов, которые должны быть кодированы (S402); выбирают контекст для каждого из текущих сигналов, которые должны быть кодированы, среди множества контекстов (S403); осуществляют арифметическое кодирование двоичного сигнала с использованием кодированной информации вероятности, связанной с контекстом, выбранным при выборе (S404); и обновляют кодированную информацию вероятности, связанную с контекстом, выбранным на этапе выбора, на основании двоичного сигнала, сгенерированного при генерации (S405), в котором, при выборе, контекст для текущего сигнала, который должен быть кодирован, выбирается для сигнала, который включен в одну из множества единиц обработки и имеет размер отличный от размера единицы обработки, включающей в себя текущий сигнал, который должен быть кодирован.
[0009] Например, можно применять один и тот же контекст для сигналов, которые должны быть кодированы, имеющих одинаковые статистические свойства. По этой причине, способ кодирования изображений согласно настоящему изобретению предназначен для выбора совместно используемого контекста для сигналов, имеющих одинаковые статистические свойства, даже когда размеры единицы обработки отличаются. Таким образом, можно уменьшить количество контекстов, которые должны быть использованы. Это уменьшение количества контекстов позволяет уменьшить размер памяти для хранения контекстов. При этом не обязательно, чтобы способ кодирования изображений согласно настоящему изобретению был сконфигурирован для использования всех контекстов для разных единиц обработки. Другими словами, способ кодирования изображений согласно настоящему изобретению может быть сконфигурирован для частичного использования контекстов исключительно для конкретной единицы обработки.
[0010] Традиционно, количество контекстов велико, поскольку разный контекст устанавливается на основании размера единицы обработки и позиции коэффициента или условия окружения. В случае, когда используется большое количество контекстов, существует возможность того, что количества обновлений кодированной информации вероятности для некоторых контекстов малы, и точности кодированной информации вероятности не гарантируются. Напротив, как описано выше, способ кодирования изображений согласно настоящему изобретению позволяет уменьшить количество контекстов, для увеличения количеств обновлений для контекстов, которые должны быть выбраны и совместно использованы, и для повышения точности прогнозирования кодированной информации вероятности. Это повышение точности кодированной информации вероятности позволяет повысить эффективность кодирования.
[0011] Согласно способу кодирования изображений настоящего изобретения, контекст, который заранее устанавливается как совместно используемый контекст, можно выбирать в случае, когда размер единицы обработки, включающей в себя текущий сигнал, который должен быть кодирован, полученный при получении, больше чем предопределенный размер.
[0012] При этом, в общем случае, контекст выбирается согласно условию окружения. Когда размер единицы обработки сравнительно велик, статистические свойства становятся приблизительно одинаковыми, и, таким образом, можно использовать один и тот же совместно используемый контекст. Аспект способа кодирования изображений согласно настоящему изобретению позволяет уменьшить количество контекстов с использованием совместно используемого контекста в случае, когда размер единицы обработки больше чем предопределенный размер. Таким образом, можно повысить точность прогнозирования кодированной информации вероятности и, таким образом, повысить эффективность кодирования в случае, когда размер единицы обработки больше чем предопределенный размер.
[0013] Способ кодирования изображений настоящего изобретения может дополнительно содержать этап, на котором осуществляют преобразование частоты на данных изображения для генерации коэффициентов преобразования частотных компонентов и для генерации текущих сигналов, которые должны быть кодированы, которые, соответственно, указывают коэффициенты преобразования частотных компонентов, причем, при выборе, контекст, который устанавливается как специальный контекст для единицы обработки, которая включена в единицы обработки, можно выбирать в случае, когда частотный компонент, соответствующий текущему сигналу, который должен быть кодирован, ниже предопределенной частоты. Способ кодирования изображений настоящего изобретения может дополнительно содержать осуществление преобразования частоты на данных изображения для генерации коэффициентов преобразования частотных компонентов и для генерации текущих сигналов, которые должны быть кодированы, которые, соответственно, указывают коэффициенты преобразования частотных компонентов, причем, при выборе, контекст, который устанавливается для единицы обработки, которая включена в единицы обработки, можно выбирать в случае, когда частотный компонент, соответствующий текущему сигналу, который должен быть кодирован, ниже предопределенной частоты.
[0014] Таким образом, можно выбирать контекст, адаптированный к особенностям данных изображения.
[0015] Способ кодирования изображений согласно настоящему изобретению может дополнительно содержать сегментирование данных изображения на множество подблоков, каждый из которых имеет один и тот же размер подъединицы обработки, причем при генерации, двоичный сигнал можно генерировать путем осуществления бинаризации на текущих сигналах, которые должны быть кодированы, каждого из подблоков, и при выборе, выбирается контекст, который можно заранее устанавливать для размера подъединицы обработки. Можно применять один и тот же контекст, устанавливая контекст на основании размера подблока, независимо от того, велик или мал размер блока.
[0016] Для решения вышеупомянутой проблемы, способ декодирования изображений согласно настоящему изобретению предназначен для реконструкции кодированных данных изображения, включающих в себя множество единиц обработки, имеющих взаимно различные размеры, путем декодирования кодированных данных изображения, причем способ декодирования изображений содержит этапы, на которых: получают текущие сигналы, которые должны быть декодированы, каждой из единиц обработки кодированных данных изображения (S501); выбирают контекст каждого из текущих сигналов, которые должны быть декодированы среди множества контекстов (S502); генерируют двоичный сигнал путем осуществления арифметического декодирования текущего сигнала, который должен быть декодирован, с использованием декодированной информации вероятности, связанной с контекстом, выбранным при выборе (S503); реконструируют кодированные данные изображения путем осуществления многозначного преобразования на двоичном сигнале (S504); и обновляют декодированную информацию вероятности, связанную с контекстом, выбранным на этапе выбора, на основании двоичного сигнала (S505), в котором, при выборе, контекст для текущего сигнала, который должен быть декодирован, выбирается, как совместно используемый контекст, для сигнала, который включен во множество единиц обработки и имеет размер, отличающийся от размера единицы обработки, включающей в себя текущие данные изображения, которые должны быть декодированы.
[0017] Таким образом, можно надлежащим образом декодировать кодированные данные изображения, закодированные с использованием способа кодирования изображений согласно настоящему изобретению. Как и в способе кодирования изображений согласно настоящему изобретению, можно уменьшить количество контекстов. Кроме того, можно увеличить количества обновлений для контекстов, и, таким образом, увеличить точность прогнозирования декодированной информации вероятности.
[0018] Согласно способу декодирования изображений настоящего изобретения, при выборе, контекст, который заранее устанавливается как совместно используемый контекст, можно выбирать в случае, когда размер единицы обработки, включающей в себя текущие сигналы, которые должны быть кодированы, полученные при получении, больше чем предопределенный размер.
[0019] Таким образом, можно уменьшить количество контекстов поскольку совместно используемый контекст используется, когда размер единицы обработки больше чем предопределенный размер. Таким образом, можно повысить точность прогнозирования кодированной информации вероятности и, таким образом, повысить эффективность кодирования в случае, когда размер единицы обработки больше чем предопределенный размер.
[0020] Согласно способу декодирования изображений настоящего изобретения, при выборе, контекст, который заранее устанавливается как специальный контекст для единицы обработки, включенной в единицы обработки, можно выбирать, когда частотный компонент, соответствующий текущему сигналу, который должен быть декодирован, ниже предопределенной частоты, в случае, когда текущий сигнал, который должен быть декодирован, является сигналом, указывающим один из коэффициентов преобразования частотных компонентов, сгенерированных путем преобразования частоты при генерации кодированных данных изображения. Согласно способу декодирования изображений настоящего изобретения, при выборе, контекст, который заранее устанавливается как совместно используемый контекст для единиц обработки, которые включены в единицы обработки и имеют высокие частоты, которые выше предопределенной частоты, можно выбирать, когда частотный компонент, соответствующий текущему сигналу, который должен быть декодирован, выше предопределенной частоты, в случае, когда текущий сигнал, который должен быть декодирован, является сигналом, указывающим один из коэффициентов преобразования частотных компонентов, сгенерированных путем преобразования частоты при генерации кодированных данных изображения.
[0021] Таким образом, можно выбирать контекст, адаптированный к особенностям данных изображения.
[0022] Согласно способу декодирования изображений настоящего изобретения, в случае, когда кодированные данные изображения являются кодированными данными изображения, сгенерированными путем сегментирования данных изображения на множество подблоков, каждый из которых имеет один и тот же размер подъединицы обработки, и осуществления бинаризации и арифметического кодирования каждого из подблоков, при выборе, можно выбирать контекст, который устанавливается как контекст для каждого из подблоков, имеющих размер подъединицы обработки.
[0023] Можно применять один и тот же контекст, устанавливая контекст на основании размера подблока, независимо от того, велик или мал размер блока.
[0024] Следует отметить, что настоящее изобретение можно реализовать или осуществлять не только как способы кодирования изображений, но и как устройства кодирования изображений, которые включают в себя единицы обработки для осуществления этапов обработки, включенных в способы кодирования изображений. Аналогично, настоящее изобретение можно реализовать или осуществлять не только как способы декодирования изображений, но и как устройства декодирования изображений, которые включают в себя единицы обработки для осуществления этапов обработки, включенных в способы декодирования изображений. Кроме того, настоящее изобретение можно реализовать или осуществлять как устройства кодирования и декодирования изображений, которые включают в себя единицы обработки для осуществления этапов обработки, включенных и в способы кодирования изображений и в способы декодирования изображений.
[0025] Кроме того, эти этапы можно реализовать как программу, побуждающую компьютер выполнять эти этапы. Кроме того, настоящее изобретение можно реализовать как носители записи, например, считываемый компьютером компакт-диски с возможностью только чтения (CD-ROM), включающие в себя программы, записанные на них, и информацию, данные и/или сигналы, представляющие программы. Естественно, программа, информация, данные и сигналы могут распространяться по сетям связи, например, интернету.
[0026] Некоторые или все структурные элементы, образующие любое из устройств кодирования изображений и устройств декодирования изображений, могут быть сконфигурированы в форме единой системы большой интегральной схемы (БИС). Такая система БИС является сверхмногофункциональной БИС, изготовленной путем объединения множественных блоков структурных элементов на едином кристалле. Например, система БИС это компьютерная система, сконфигурированная таким образом, что включает в себя макропроцессор, ПЗУ, оперативную память (ОЗУ) и пр.
Преимущества изобретения
[0027] Настоящее изобретение позволяет осуществлять прогнозы вероятностей вхождения символа с высокой точностью, и, таким образом, повышать эффективность кодирования изображений.
Краткое описание чертежей
[0028]
Фиг. 1 - блок-схема, демонстрирующая структуру устройства арифметического кодирования согласно уровню техники.
Фиг. 2 - блок-схема последовательности операций, описывающая способ арифметического кодирования согласно уровню техники.
Фиг. 3 - блок-схема, демонстрирующая пример структуры блока арифметического кодирования устройства кодирования изображений согласно настоящему изобретению.
Фиг. 4 - схема, демонстрирующая пример информационной таблицы сигнала для использования в способе кодирования изображений и устройстве кодирования изображений согласно настоящему изобретению.
Фиг. 5A - блок-схема, демонстрирующая пример таблицы контекстов для использования в способе кодирования изображений и устройстве кодирования изображений согласно настоящему изобретению.
Фиг. 5B - блок-схема, демонстрирующая пример таблицы контекстов для использования в способе кодирования изображений и устройстве кодирования изображений согласно настоящему изобретению.
Фиг. 5C - блок-схема, демонстрирующая пример таблицы контекстов для использования в способе кодирования изображений и устройстве кодирования изображений согласно настоящему изобретению.
Фиг. 6 - блок-схема последовательности операций, описывающая процедуру обработки в способе арифметического кодирования и способе кодирования изображений согласно настоящему изобретению.
Фиг. 7 - блок-схема последовательности операций, описывающая процедуру обработки в способе арифметического кодирования и способе кодирования изображений согласно настоящему изобретению.
Фиг. 8 - блок-схема последовательности операций, описывающая пример процедуры обработки в блоке управления классификацией контекстных блоков, которая составляет способ кодирования изображений и устройство кодирования изображений согласно настоящему изобретению.
Фиг. 9 - блок-схема последовательности операций, описывающая пример процедуры обработки в блоке управления классификацией контекстных блоков, которая составляет способ кодирования изображений и устройство кодирования изображений согласно настоящему изобретению.
Фиг. 10A - блок-схема последовательности операций, описывающая пример процедуры обработки в блоке управления классификацией контекстных блоков, которая составляет способ кодирования изображений и устройство кодирования изображений согласно настоящему изобретению.
Фиг. 10B - блок-схема последовательности операций, описывающая пример процедуры обработки в блоке управления классификацией контекстных блоков, которая составляет способ кодирования изображений и устройство кодирования изображений согласно настоящему изобретению.
Фиг. 11 - схема, демонстрирующая способ вычисления условий окружения в способе кодирования изображений и устройстве кодирования изображений согласно настоящему изобретению.
Фиг. 12 - блок-схема, демонстрирующая пример полной структуры устройства кодирования изображений согласно настоящему изобретению.
Фиг. 13 - блок-схема, демонстрирующая пример структуры блока арифметического декодирования устройства декодирования изображений согласно настоящему изобретению.
Фиг. 14 - блок-схема последовательности операций, описывающая процедуру обработки в способе арифметического декодирования в способе декодирования изображений согласно настоящему изобретению.
Фиг. 15 - блок-схема последовательности операций, описывающая пример способа арифметического декодирования в способе декодирования изображений согласно настоящему изобретению.
Фиг. 16 - блок-схема, демонстрирующая пример полной структуры устройства кодирования изображений согласно настоящему изобретению.
Фиг. 17 - общая конфигурация системы предоставления контента для реализации услуг распространения контента.
Фиг. 18 - общая конфигурация системы цифрового вещания.
Фиг. 19 - блок-схема, иллюстрирующая пример структуры телевизионного приемника.
Фиг. 20 - блок-схема, иллюстрирующая пример структуры блока записи и воспроизведения информации, который считывает и записывает информацию с или на носитель записи, который представляет собой оптический диск.
Фиг. 21 - чертеж, изображающий пример структуры носителя записи, который представляет собой оптический диск.
Фиг. 22A - чертеж, иллюстрирующий пример мобильного телефона.
Фиг. 22B - блок-схема, иллюстрирующая структуру мобильного телефона.
Фиг. 23 - чертеж, изображающий структуру мультиплексированных данных;
фиг. 24 - чертеж схематически иллюстрирующий, как каждый из потоков мультиплексируется в мультиплексированные данные.
Фиг. 25 - чертеж, более подробно иллюстрирующий, как видеопоток сохраняется в потоке пакетов PES.
Фиг. 26 - чертеж, изображающий структуру пакетов TS и исходных пакетов в мультиплексированных данных.
Фиг. 27 - чертеж, изображающий структуру данных PMT.
Фиг. 28 - чертеж, изображающий внутреннюю структуру информации мультиплексированных данных.
Фиг. 29 - чертеж, изображающий внутреннюю структуру информации атрибутов потока.
Фиг. 30 - чертеж, изображающий этапы для идентификации видеоданных.
Фиг. 31 - блок-схема, иллюстрирующая пример структуры интегральной схемы для реализации способа кодирования движущихся изображений и способа декодирования движущихся изображений согласно любому из вариантов осуществления.
Фиг. 32 - чертеж, изображающий структуру для переключения между частотами возбуждения.
Фиг. 33 - чертеж, изображающий этапы для идентификации видеоданных и переключения между частотами возбуждения.
Фиг. 34 - чертеж, изображающий пример поисковой таблицы, в которой стандарты видеоданных связаны с частотами возбуждения.
Фиг. 35A - чертеж, изображающий пример структуры для совместного использования модуля блока обработки сигнала.
Фиг. 35B - чертеж, изображающий другой пример структуры для совместного использования модуля блока обработки сигнала.
Описание вариантов осуществления
[0029] Прежде всего, до объяснения вариантов осуществления настоящего изобретения, опишем основную структуру традиционного устройства кодирования изображений и традиционного способа кодирования изображений.
[0030] Традиционное устройство кодирования изображений выполняет обработку кодирования со сжатием, состоящую из прогнозирования, преобразования и квантования, и энтропийное кодирование на текущем сигнале, который должен быть кодирован, данных изображения.
[0031] Далее, со ссылкой на фиг. 1 и фиг. 2, опишем энтропийное кодирование среди процессов, осуществляемых устройством кодирования изображений. В данном случае, арифметическое кодирование объясняется как энтропийное кодирование.
[0032] На фиг. 1 показана блок-схема, демонстрирующая структуру блока арифметического кодирования, который выполняет традиционный способ арифметического кодирования. На Фиг. 2 показана блок-схема последовательности операций, описывающая процедуру обработки способа арифметического кодирования (пример энтропийного кодирования), отвечающего общепринятому стандарту H.264/AVC.
[0033] Как показано на фиг. 1, блок 10 арифметического кодирования включает в себя блок 11 бинаризации, блок 12 хранения вероятностей вхождения символа, блок 13 управления контекстом и двоичный арифметический кодер 14.
[0034] Блок 10 арифметического кодирования принимает, в качестве вводов, (i) входной сигнал SI, который является текущим сигналом, который должен быть кодирован, который становится целью кодирования, (ii) информацию SE типа сигнала, которая указывает тип входного сигнала SI, и (iii) сигнал BLKS размера блока, который указывает размер блока входного сигнала SI. Далее, приведены описания, предусматривающие случай, когда входной сигнал SI является сигналом, указывающим, что текущий из квантованных коэффициентов, сгенерированных путем квантования данных изображения, является нулевым коэффициентом, и случай, когда входной сигнал SI является сигналом, указывающим, что текущий из квантованных коэффициентов является ненулевым коэффициентом.
[0035] Блок 11 бинаризации выполняет, на основании информации SE типа сигнала, процесс двузначного преобразования (бинаризации) для преобразования входного сигнала SI в двоичную информацию (символ) в виде “0” или “1”, и отправляет двоичный сигнал BIN на двоичный арифметический кодер 14 и блок 13 управления контекстом.
[0036] Блок 12 хранения вероятностей вхождения символа сохраняет (i) единичную информационную таблицу сигнала и (ii) таблицу контекстов, которая включает в себя множество контекстов, приготовленных для разных размеров блока и условий.
[0037] Эта информационная таблица сигнала представляет собой таблицу, где хранятся контексты, информация вероятности, указывающая вероятности PE вхождения символа, и символы связанным образом. Вероятности PE вхождения символа представляют собой информацию вероятности для использования при обработке двоичным арифметическим кодером 104, который будет описан ниже.
[0038] При этом, на фиг. 4 показан пример информационной таблицы сигнала, в которой индексы ctxIdx, вероятности pStateIdx вхождения и символы valMPS, которые являются символами, каждый из которых имеет высокую вероятность вхождения (наиболее вероятные символы), соответственно связаны друг с другом. Каждый из индексов ctxIdx указывает контекст. Кроме того, информация pStateIdx вероятности и символ valMPS одинаковы, как указано в стандарте H.264. Другими словами, каждая из вероятностей pStateIdx является индексом, указывающим значение соответствующей одной из вероятностей PE вхождения символа. Блок 12 хранения вероятностей вхождения символа дополнительно сохраняет таблицу вероятностей вхождения (не показана), указывающую значение одной из вероятностей PE вхождения символа, которая соответствует информации pStateIdx вероятности.
[0039] Таблица контекстов представляет собой таблицу, где хранится множество контекстов ctxIdx для разных размеров BLKS блока и условий. В данном случае, такие условия определяются согласно позициями квантованных коэффициентов текущих сигналов, которые должны быть кодированы.
[0040] В данном случае, на фиг. 5A показана блок-схема, демонстрирующая пример традиционной таблицы контекстов. В частности, например, в таблице 1, (i) контекст ctxIds 0 устанавливается для условия 10, указывающего позицию коэффициента, соответствующего низкочастотному компоненту, (ii) контекст ctxIds 1 устанавливается для условия 11, указывающего позицию коэффициента, соответствующего низкочастотному компоненту, и (iii) контекст ctxIds 2 устанавливается для условий 12 и 13, каждое из которых указывает условие окружения, соответствующее высокочастотному компоненту. Кроме того, например, в таблице 2, (i) контекст ctxIds 4 устанавливается для условий 4 и 5, каждое из которых указывает позицию коэффициента, соответствующего низкочастотному компоненту, и (ii) контекст ctxIds 15 устанавливается для условий 6 и 7, каждое из которых указывает условие окружения, соответствующее высокочастотным компонентам.
[0041] При этом предполагается, например, что таблица 1 используется для размера A блока, который является размером 4×4 блока, и что таблица 2 используется для размера B блока, который является размером 8×8 блока. Как показано на фиг. 5A, значения 0, 1 и 2 контекстов ctxIdx для использования в таблице 1 не используются в таблице 2. Таблица 1 и таблица 2, соответственно, соответствуют разным размерам блока, и, таким образом, разные контексты ctxIdx устанавливаются для разных размеров блока.
[0042] Блок 13 управления контекстом осуществляет обработку управления контекстом, при которой считывают вероятность PE вхождения символа, соответствующую размеру блока, указанному сигналом BLKS размера блока, и условию, определенному на основании информации типа сигнала от блока 12 хранения вероятностей вхождения символа, и выводе считанной вероятности PE вхождения символа на двоичный арифметический кодер 14. Кроме того, блок 13 управления контекстом вычисляет новую вероятность PE вхождения символа на основании двоичного сигнала BIN, который вводят от блока 11 бинаризации. После выполнения обработки управления контекстом, блок 13 управления контекстом осуществляет обработку обновления путем замены, новой вероятностью PE вхождения символа, вероятности PE вхождения символа, идентифицированной при обработке управления контекстом, из контекстов ctxIdx, хранящихся в блоке 12 хранения вероятностей вхождения символа.
[0043] Двоичный арифметический кодер 14 генерирует выходной сигнал OB путем осуществления арифметического кодирования на двоичном сигнале BIN, вводимом от блока 11 бинаризации, на основании вероятности PE вхождения символа, считанной блоком 13 управления контекстом, и выводит сгенерированный выходной сигнал OB.
[0044] Теперь, со ссылкой на фиг. 2, опишем последовательность операций процедуры арифметического кодирования.
[0045] Блок 10 арифметического кодирования начинает арифметическое кодирование, приняв входной сигнал SI, сигнал BLKS размера блока и информацию SE типа сигнала.
[0046] После начала арифметического кодирования, на этапе 11, блок 11 бинаризации выполняет бинаризацию с использованием предопределенного подхода согласно информации SE типа сигнала.
[0047] На этапе S12, блок 13 управления контекстом получает размер блока входного сигнала SI на основании сигнала BLKS размера блока, и получает позицию коэффициента в качестве условия, на основании информации SE типа сигнала. Кроме того, блок 13 управления контекстом идентифицирует контекст ctxIdx, соответствующий размеру блока и условию входного сигнала SI, на основании таблицы контекстов, хранящейся в блоке 12 хранения вероятностей вхождения символа. Кроме того, блок 13 управления контекстом дополнительно идентифицирует вероятность PE вхождения символа на основании информационной таблицы сигнала, показанной на фиг. 4, и побуждает блок 12 хранения вероятностей вхождения символа выводить идентифицированную вероятность PE вхождения символа на двоичный арифметический кодер (обработка управления контекстом).
[0048] На этапе S13, двоичный арифметический кодер 14 осуществляет арифметическое кодирование на двоичном сигнале BIN с использованием вероятности PE вхождения символа, принятой от блока 12 хранения вероятностей вхождения символа на этапе S12, и выводит результат в качестве выходного сигнала OB.
[0049] На этапе S14, блок 13 управления контекстом вычисляет новую вероятность PE вхождения символа на основании двоичного сигнала BIN, вычисленного блоком 11 бинаризации на этапе S11, и обновляет значение соответствующей вероятности pStateIdx вхождения в информационной таблице сигнала, хранящейся в блоке 12 хранения вероятностей вхождения символа. После завершения арифметического кодирования на входном сигнале SI, арифметическое кодирование осуществляется на следующем сигнале, который должен быть обработан (не показан).
[0050] Как описано выше, традиционный метод, показанный на фиг. 1 и фиг. 2 устанавливает контексты для разных размеров блока и условий. Другими словами, контексты устанавливаются на основании очень строгих классификаций.
[0051] Однако, весьма вероятно, что очень строгие классификации порождают контексты, которые имеют низкую частоту вхождения для обработки обновления вероятности PE вхождения символа. Контекст, имеющий низкую частоту вхождения для обработки обновления, снижает точность вероятности PE вхождения символа. Это затрудняет осуществление управления, адаптированного к особенностям данных изображения, хотя такое управление является преимущественным результатом арифметического кодирования. В результате, эффективность кодирования снижается.
[0052] По этой причине, такие классификации нужно устанавливать надлежащим образом для повышения точности вероятностей PE вхождения символа и, таким образом, для осуществления управления, адаптированного к особенностям данных изображения.
[0053] Общепринятый стандарт кодирования видеосигнала поддерживает лишь ограниченные размеры блока, например, размер 4×4 блока и размер 8×8 блока. Однако в последнее время возникла необходимость в поддержке других размеров блока, например, размера 16×16 блока и размера 32×32 блока. Увеличение количества размеров блока значительно увеличивает количество контекстов. Таким образом, традиционно, проблема состоит в том, что частота обновления вероятности PE вхождения символа может дополнительно снижаться.
[0054] Далее, со ссылкой на чертежи, описаны варианты осуществления настоящего изобретения. Следует отметить, что каждый из описанных ниже вариантов осуществления демонстрирует предпочтительный конкретный пример настоящего изобретения. Значения, формы, материалы, структурные элементы, компоновка и позиции структурных элементов, состояния соединения структурных элементов, этапы, порядок выполнения этапов приведены в порядке примера, и, таким образом, не подлежат интерпретации в смысле ограничения настоящего изобретения. Настоящее изобретение ограничено только объемом формулы изобретения. Таким образом, структурные элементы, которые не заданы в независимых пунктах формулы изобретения, каждый из которых указывает наиболее общий принцип настоящего изобретения из структурных элементов в указанных ниже вариантах осуществления, не всегда требуются для достижения цели настоящего изобретения, но объяснены как составляющие предпочтительные варианты осуществления.
Вариант осуществления 1
[0055] Вариант осуществления 1 относящийся к способу кодирования изображений и устройству кодирования изображений согласно настоящему изобретению, описан со ссылкой на фиг. 3-фиг. 8.
[0056] Способ кодирования изображений согласно настоящему изобретению, в частности, относится к способу арифметического кодирования в порядке примера энтропийного кодирования среди кодирования со сжатием, состоящего из прогнозирования, преобразования и квантования, энтропийного кодирования, и пр., осуществляемому на текущем сигнале, который должен быть кодирован, данных изображения. Кроме того, устройство кодирования изображений согласно настоящему изобретению сконфигурировано таким образом, что включает в себя блок прогнозирования, блок преобразования и квантования и блок арифметического кодирования (блок энтропийного кодирования), который выполняет способ арифметического кодирования. Ниже описана общая структура устройства кодирования изображений.
(Обзор варианта осуществления 1)
[0057] Сначала опишем в общих чертах способ арифметического кодирования и блок арифметического кодирования согласно варианту осуществления 1. Здесь приведено описание случая, когда сигнал, указывающий, является ли текущий из квантованных коэффициентов частотных компонентов, сгенерированных посредством преобразования и квантования, нулевым коэффициентом или ненулевым коэффициентом, вводится в качестве входного сигнала SI на блок арифметического кодирования.
[0058] В случае, когда входной сигнал SI является сигналом, соответствующим высокочастотному компоненту, например, когда размер блока является большим размером блока, большим чем размер 16×16 блока, вероятность PE вхождения символа определяется на основании условия окружения. Другими словами, высокочастотные компоненты в блоках, имеющих размер 16×16 блока или больше, имеют одинаковые статистические свойства данных изображения, и, таким образом, к ним применим один и тот же контекст, когда условия (условия окружения) одинаковы, даже если размеры блока различны.
[0059] Напротив, в случае, когда входной сигнал SI соответствует низкочастотному компоненту в блоке, имеющем большой размер, вероятность PE вхождения символа определяется на основании позиции коэффициента. В частности, сигнал, соответствующий низкочастотному компоненту, включающему в себя ортогональный компонент, представляет собой (i) сигнал, с высокой вероятностью имеющий особенности данных изображения, и (ii) часть, из которой легко получить статистическую информацию, вследствие высокой частоты присутствия сигнала SignificantFlag. По этой причине, в случае, когда входные сигналы SI соответствуют низкочастотным компонентам в больших размерах блока, можно осуществлять арифметическое кодирование с использованием статистической информации, адаптированной к особенностям данных изображения, более значительно, чем традиционным способом, устанавливая разные контексты, но не устанавливая совместно используемый контекст, когда размеры блока различны, даже при одинаковых условиях (позициях коэффициентов). Это позволяет повысить эффективность кодирования.
[0060] Как описано выше, согласно варианту осуществления 1, (i) в случае входных сигналов SI высокочастотных компонентов в больших блоках, имеющих большой размер блока, контекст, который устанавливается для одного и того же условия, частично или полностью совместно используется между блоками, имеющими разные размеры блока, и (ii) в случае входного сигнала SI низкочастотного компонента в блоке, имеющем большой размер блока, и входного сигнала SI низкочастотного компонента в блоке, имеющем малый размер блока, контексты устанавливаются для соответствующих размеров блока и условий без совместного использования контекста между блоками.
[0061] При этом имеется небольшой недостаток использования такого совместно используемого контекста для низкочастотных компонентов в блоках, имеющих большой размер блока. Таким образом, также полезно использовать совместно используемый контекст для входных сигналов SI, соответствующих блокам, имеющим большой размер блока, независимо от того, соответствует ли каждый из входных сигналов SI низкочастотному компоненту или высокочастотному компоненту. Предпочтительный способ выбора целей совместного использования контекста состоит в установке целей согласно входным сигналам SI, которые являются сигналами цели кодирования, и деталей информации SE типа сигнала.
Структура блока арифметического кодирования согласно варианту осуществления 1
[0062] Ниже приведено описание структуры блока арифметического кодирования, который осуществляет способ арифметического кодирования согласно варианту осуществления 1.
[0063] Здесь, на фиг. 3 показана блок-схема, демонстрирующая пример структуры блока 100 арифметического кодирования согласно варианту осуществления 1.
[0064] Как показано на фиг. 3, блок 100 арифметического кодирования включает в себя блок 101 бинаризации, блок 102 хранения вероятностей вхождения символа, блок 103 управления контекстом, двоичный арифметический кодер 104 и блок 105 управления классификацией контекстных блоков.
[0065] Блок 100 арифметического кодирования генерирует выходной сигнал OB путем выполнения арифметического кодирования на входном сигнале SI который является текущим сигналом, который должен быть кодирован, и выводит сгенерированный выходной сигнал OB. Согласно варианту осуществления 1, блок 100 арифметического кодирования принимает, в качестве вводов, входной сигнал SI, информацию SE типа сигнала, указывающую тип входного сигнала SI, и сигнал BLKS размера блока, указывающий размер блока входного сигнала SI.
[0066] Здесь, согласно варианту осуществления 1, приведены описания, предусматривающие случай, когда входной сигнал SI является сигналом, указывающим, является ли текущий из квантованных коэффициентов частотных компонентов, сгенерированных путем квантования данных изображения, нулевым коэффициентом или ненулевым коэффициентом (сигнал, именуемый SignificantFlag в H.264). Следует отметить, что входной сигнал SI не ограничивается этим, и может быть необработанным квантованным коэффициентом или информацией, используемой для генерации квантованного коэффициента.
[0067] Кроме того, информация SE типа сигнала является информацией, указывающей свойства входного сигнала SI, который является текущим сигналом, который должен быть кодирован. В частности, согласно варианту осуществления 1, приведены описания, предусматривающие случай, когда входной сигнал SI является информацией позиции, указывающей позицию квантованного коэффициента, и информацией (условием окружения), указывающей, являются ли квантованные коэффициенты, окружающие текущий квантованный коэффициент, нулевыми или ненулевыми. Следует отметить, что информация SE типа сигнала не ограничивается этим, и может представлять собой, например, информацию, указывающую, является ли постоянный компонент квантованного коэффициента нулевым или ненулевым, или может представлять собой информацию, указывающую направление прогнозирования в случае, когда способ прогнозирования, применяемый к входному сигналу SI, является intra-прогнозированием.
[0068] Вариант осуществления 1 сконфигурирован для приема сигналов BLKS размера блока, предполагая, что контексты устанавливаются пригодно для размеров блока. Однако можно сконфигурировать вариант осуществления, который не использует такие сигналы BLKS размера блока в случае установки контекстов согласно другим особенностям данных изображения.
[0069] Блок 101 бинаризации генерирует двоичный сигнал путем осуществления бинаризации на текущем сигнале, который должен быть кодирован. В частности, блок 101 бинаризации генерирует двоичный сигнал BIN путем осуществления бинаризации для преобразования входного сигнала SI, который является текущим сигналом, который должен быть кодирован, в двоичную информацию (символ) в виде “0” или “1”, на основании информации SE типа сигнала. Блок 101 бинаризации отправляет сгенерированный двоичный сигнал BIN на двоичный арифметический кодер 104 и блок 103 управления контекстом.
[0070] Блок 102 хранения вероятностей вхождения символа представляет собой блок хранения, сконфигурированный с энергонезависимой памятью и т.п., и сохраняет информационную таблицу сигнала и множество таблиц контекстов. В данном случае, множество таблиц контекстов генерируется и сохраняется заранее. Такое же множество таблиц контекстов также сохраняется в блоке 302 хранения вероятностей вхождения символа, который образует устройство декодирования изображений согласно варианту осуществления 2, описанному ниже. Блок 102 хранения вероятностей вхождения символа дополнительно сохраняет таблицу вероятностей вхождения (не показана) указывающую значение одной из вероятностей PE вхождения символа, которая соответствует информации pStateIdx вероятности.
[0071] Информационная таблица сигнала идентична традиционной информационной таблице сигнала, показанной на фиг. 4, и сохраняет индексы ctxIdx, указывающие контексты, вероятности pStateIdx вхождения и символы valMPS связанным образом.
[0072] Здесь, таблица, хранящая вероятности pStateIdx вхождения, которые являются индексами, указывающими вероятности PE вхождения символа, и ctxIdx, указывающий контексты связанным образом, используется в качестве информационной таблицы сигнала. Однако заметим, что вместо нее можно использовать таблицу, хранящую контексты ctxIdx и значения вероятностей PE вхождения символа в виде непосредственной связи. В этом случае, можно тоньше манипулировать значениями, чем значениями, управляемыми в таблице, представляя значения вероятностей PE вхождения символа, например, с 16-битовой точностью (0-65535), и, таким образом, повысить эффективность кодирования.
[0073] Согласно варианту осуществления 1, Таблица контекстов состоит из множества таблиц, в которых контексты ctxIds устанавливаются согласно условиям. Контексты ctxIds идентичны индексам ctxIds в вышеупомянутой информационной таблице сигнала. Здесь, на каждой из фиг. 5B и фиг. 5C показан пример таблицы контекстов для использования согласно варианту осуществления 1.
[0074] В таблице 3 на фиг. 5B, (i) контекст ctxIds 0 устанавливается для условия 10, указывающего позицию коэффициента, соответствующего низкочастотному компоненту, (ii) контекст ctxIds 1 устанавливается для условия 11, указывающего позицию коэффициента, соответствующего низкочастотному компоненту, и (iii) контекст ctxIds 2 устанавливается для условий 12 и 13, каждое из которых указывает условие окружения, соответствующее высокочастотным компонентам. Кроме того, в таблице 4, (i) контекст ctxIds 3 устанавливается для условия 14, указывающего позицию коэффициента, соответствующего низкочастотному компоненту, (ii) контекст ctxIds 4 устанавливается для условия 15, указывающего позицию коэффициента, соответствующего низкочастотному компоненту, и (iii) контекст ctxIds 2 устанавливается для условий 16 и 17, каждое из которых указывает условие окружения, соответствующее высокочастотным компонентам.
[0075] Здесь, индекс ctxIdx, связанный с высокочастотными компонентами (условия 12 и 13) в таблице 3 и индекс ctxIdx, связанный с высокочастотными компонентами (условия 16 и 17) в таблице 4 устанавливаются имеющими одно и то же значение 2. Таким образом, размер блока, соответствующий таблице 3, и размер блока, соответствующий таблице 4, совместно используют контекст для входных сигналов SI, соответствующих высокочастотным компонентам.
[0076] Таблица контекстов, показанная на фиг. 5C, является вариативным примером таблицы контекстов, показанной на фиг. 5B, и состоит из трех таблиц 5-7. Таблица 5 и таблица 6 используются для установления контекстов на основании размеров блока. В частности, таблица 5 и таблица 6 соответствуют размеру A блока (например, малому размеру 4×4 блока) и размеру B блока (например, малому размеру 8×8 блока), соответственно. Кроме того, таблица 7 используется для установления совместно используемого контекста независимо от размера блока входного сигнала SI и является ли входной сигнал SI низкочастотным компонентом или высокочастотным компонентом. Например, таблица 7 соответствует большому размеру блока, например, размеру C блока (например, размеру 16×16 блока), размеру D блока (например, размеру 32×32 блока) и размеру E блока (например, размеру 64×64 блока). Установки для таблицы 5 и таблицы 6 идентичны установкам для таблицы 1 и таблицы 2. В таблице 7, контекст ctxIds 18 устанавливается для условия 18, и контекст ctxIds 19 устанавливается для условия 19.
[0077] Следует отметить, что, согласно варианту осуществления 1, условия определяются согласно одному из (i) информации (условия окружения) битов, окружающих текущий сигнал, который должен быть кодирован в макроблоке, (ii) информации, связанной с битами, уже подвергнутым арифметическому кодированию в макроблоке, и (iii) позиции бита (информации позиции, информации коэффициента) текущего сигнала, который должен быть кодирован.
[0078] Блок 103 управления контекстом выполняет обработку управления контекстом для идентификации вероятности PE символа для использования в двоичном арифметическом кодере 104 и обработку обновления для обновления вероятности PE вхождения символа.
[0079] Приведено описание обработки управления контекстом блоком 103 управления контекстом. Блок 103 управления контекстом получает сигнал CTRS управления, который выводится из блока 105 управления классификацией контекстных блоков, который описан ниже, и получает таблицу, которая должна быть использована, среди таблиц контекстов в блоке 102 хранения вероятностей вхождения символа. Кроме того, блок 103 управления контекстом идентифицирует контекст ctxIdx, соответствующий условию, идентифицированному на основании информации SE типа сигнала, со ссылкой на идентифицированную таблицу в блоке 102 хранения вероятностей вхождения символа.
[0080] Затем блок 103 управления контекстом получает вероятность pStateIdx вхождения, соответствующую индексу ctxIdx, со ссылкой на информационную таблицу сигнала. Блок 103 управления контекстом идентифицирует вероятность PE вхождения символа для использования в двоичном арифметическом кодере 104, со ссылкой на таблицу вероятностей вхождения, хранящуюся в блоке 102 хранения вероятностей вхождения символа, на основании вероятности pStateIdx вхождения. Кроме того, блок 103 управления контекстом побуждает блок 102 хранения вероятностей вхождения символа выводить идентифицированную вероятность PE вхождения символа на двоичный арифметический кодер 104.
[0081] Далее приведено описание обработки обновления блоком 103 управления контекстом. Обработка обновления блоком 103 управления контекстом осуществляется на основании стандарта H.264. В частности, блок 103 управления контекстом получает новую вероятность PE вхождения символа и символ valMPS, на основании двоичного сигнала BIN, который вводится от блока 101 бинаризации. Блок 103 управления контекстом заменяет, значением, соответствующим новой вероятности PE вхождения символа, значение вероятности pStateIdx вхождения, соответствующее контексту ctxIdx, идентифицированному при обработке управления контекстом, в информационной таблице сигнала, показанной на фиг. 4, хранящейся в блоке 102 хранения вероятностей вхождения символа.
[0082] Двоичный арифметический кодер 104 генерирует выходной сигнал OB путем осуществления арифметического кодирования на двоичном сигнале, вводимом от блока 101 бинаризации, с использованием вероятности PE вхождения символа, считанной из блока 102 хранения вероятностей вхождения символа блоком 103 управления контекстом, и выводит сгенерированный выходной сигнал OB.
[0083] Согласно варианту осуществления 1, блок 105 управления классификацией контекстных блоков определяет таблицу среди таблиц контекстов в блоке 102 хранения вероятностей вхождения символа на основании сигнала BLKS размера блока и информации SE типа сигнала, генерирует сигнал CTRS управления, указывающий определенную таблицу, и выводит сигнал CTRS управления на блок 103 управления контекстом.
Процедура обработки согласно варианту осуществления 1
[0084] Ниже приведено описание структуры способа арифметического кодирования, осуществляемого блоком 100 арифметического кодирования согласно варианту осуществления 1.
[0085] Здесь, на фиг. 6 показана блок-схема последовательности операций, описывающая процедуру обработки в способе арифметического кодирования согласно настоящему изобретению. Способ кодирования изображений согласно настоящему изобретению сконфигурирован таким образом, что включает в себя: этап получения текущего сигнала, который должен быть кодирован, для получения текущего сигнала, который должен быть кодирован данных изображения (этап S401); этап бинаризации для генерации двоичного сигнала путем бинаризации текущего сигнала, который должен быть кодирован (этап S402); этап выбора контекста для выбора контекста для текущего сигнала, который должен быть кодирован (этап S403); этап арифметического кодирования для осуществления арифметического кодирования двоичного сигнала, с использованием кодированной информации вероятности, связанной с контекстом, выбранным на этапе выбора контекста (этап S404); и этап обновления для обновления кодированной информации вероятности, связанной с контекстом, выбранным на этапе выбора контекста, на основании двоичного сигнала (этап S405), и для выбора, на этапе выбора контекста, контекста текущего сигнала, который должен быть кодирован, таким образом, чтобы контекст совместно использовался другим сигналом, который должен быть кодирован, включенным в единицу обработки, имеющую размер единицы обработки отличный от размера единицы обработки, включающей в себя текущий сигнал, который должен быть кодирован.
[0086] На фиг. 7 показана блок-схема последовательности операций, описывающая, более подробно, процедуру обработки способа арифметического кодирования согласно варианту осуществления 1. При этом блок-схема последовательности операций на фиг. 7 указывает обработку арифметического кодирования, осуществляемую на единичном входном сигнале (текущем сигнале, который должен быть кодирован). Входной сигнал SI генерируется для каждого из частотных компонентов каждого из блоков изображения посредством преобразования и квантования. Таким образом, арифметическое кодирование всего блока завершается по выполнении арифметического кодирования всех частотных компонентов.
[0087] Как показано на фиг. 7, с началом арифметического кодирования, блок 105 управления классификацией контекстных блоков получает размер блока текущего сигнала, который должен быть кодирован, на основании сигнала BLKS размера блока (этап S110).
[0088] Блок 101 бинаризации получает входной сигнал SI, который является целью кодирования, и информацию SE типа сигнала (этап получения текущего сигнала, который должен быть кодирован), и осуществляет бинаризацию на основании информации SE типа сигнала на входном сигнале SI согласно стандарту H.264 для генерации двоичного сигнала BIN (этап S120, этап бинаризации). При этом информация SE типа сигнала включает в себя информацию, указывающую схему бинаризации.
[0089] Затем блок 105 управления классификацией контекстных блоков определяет, использовать ли совместно используемый контекст для разных размеров блока, на основании размера блока и информации SE типа сигнала, полученной на этапе S110 (этап S130).
[0090] Когда блок 105 управления классификацией контекстных блоков определяет использовать специальный контекст для конкретного размера блока (Нет на этапе S130), блок 105 управления классификацией контекстных блоков выбирает таблицу, в которой установлен специальный контекст для конкретного размера блока среди таблиц контекстов в блоке 102 хранения вероятностей вхождения символа, и выводит сигнал CTRS управления, указывающий таблицу, на блок 103 управления контекстом (этап S140).
[0091] С другой стороны, когда блок 105 управления классификацией контекстных блоков определяет использовать совместно используемый контекст для разных размеров блока (Да на этапе S130), блок 105 управления классификацией контекстных блоков выбирает таблицу, в которой установлен совместно используемый контекст для разных размеров блока, среди таблиц контекстов в блоке 102 хранения вероятностей вхождения символа, и выводит сигнал CTRS управления, указывающий таблицу, на блок 103 управления контекстом (этап S150).
[0092] Блок 103 управления контекстом определяет таблицу контекстов, соответствующую входному сигнал SI среди таблиц контекстов хранящихся в блоке 102 хранения вероятностей вхождения символа, на основании сигнала CTRS управления (этап S160).
[0093] Блок 103 управления контекстом определяет контекст ctxIdx на основании условия, определенного на основании информации SE типа сигнала, со ссылкой на выбранную таблицу контекстов (обработка от этапа S130 до этого момента соответствует этапу выбора контекста, и блок 105 управления классификацией контекстных блоков и блок 103 управления контекстом которые выполняют этапы, соответствуют блоку управления выбором контекста). Кроме того, блок 103 управления контекстом идентифицирует вероятность PE вхождения символа, соответствующую контексту ctxIdx, со ссылкой на информационную таблицу сигнала и таблицу вероятностей вхождения, считывает идентифицированную вероятность PE вхождения символа из блока 102 хранения вероятностей вхождения символа, и выводит считанную вероятность PE вхождения символа на двоичный арифметический кодер 104.
[0094] Двоичный арифметический кодер 104 генерирует выходной сигнал OB путем осуществления арифметического кодирования двоичного сигнала на основании вероятности PE вхождения символа, считанной блоком 13 управления контекстом, и выводит сгенерированный выходной сигнал OB (этап S170, этап арифметического кодирования).
[0095] Блок 103 управления контекстом выполняет обработку обновления для обновления вероятности PE вхождения символа на основании двоичного сигнала, сгенерированного блоком 101 бинаризации (этап S180, этап обновления).
[0096] Ниже приведены описания деталей (соответствующих этапам S130-S160) операций, осуществляемых блоком 105 управления классификацией контекстных блоков, со ссылкой на фиг. 8-фиг. 11.
[0097] Здесь, на каждой из фиг. 8, фиг. 9, фиг. 10A и фиг. 10B показана блок-схема последовательности операций, описывающая пример операций, выполняемых блоком 105 управления классификацией контекстных блоков, согласно варианту осуществления 1. Каждая из частей (a)-(c) фиг. 11 представляет собой схему, демонстрирующую позиционные соотношения квантованных коэффициентов в соответствующем одном из блоков, имеющих размер 8×8, 16×16 или 32×32 блока.
Операционный пример 1
[0098] Согласно фиг. 8, блок 105 управления классификацией контекстных блоков, прежде всего, определяет позицию коэффициента на основании информации SE типа сигнала, и определяет, включена ли позиция коэффициента входного сигнала SI, который является текущим сигналом, который должен быть кодирован, в низкочастотную область или в высокочастотную область (этап S202).
[0099] При этом, как описано выше, квантованные коэффициенты соответствуют сигналам, сгенерированным путем осуществления преобразования частоты и квантования на данных изображения, и позиции коэффициентов соответствуют частотным компонентам в преобразовании частоты. Например, в схеме, показанной в каждой из частей (a)-(c) фиг. 11, квантованные коэффициенты, соответствующие низкочастотным компонентам, располагаются в верхнем левом участке, и квантованные коэффициенты, соответствующие высокочастотным компонентам, располагаются в нижнем правом участке. В частности, в примерном случае, когда позиция коэффициента является одной из позиций коэффициентов в блоке 2×2, включающем в себя, по меньшей мере, один постоянный компонент, в частном случае, когда позиция коэффициента является одной из позиций, обозначенных как LFR в схеме, показанной в каждой из частей (a)-(c) фиг. 11, принимается решение, что входной сигнал SI является коэффициентом, соответствующим низкочастотному компоненту. В случае, когда позиция коэффициента является одной из позиций коэффициентов, показанной как символ, отличный от LFR в каждой из частей (a)-(c) фиг. 11, принимается решение, что входной сигнал SI является коэффициентом, соответствующим высокочастотному компоненту.
[0100] В случае, когда входной сигнал SI является коэффициентом, соответствующим низкочастотному компоненту (Да на этапе S202), блок 105 управления классификацией контекстных блоков выбирает таблицу контекстов, в которой контексты установлены на основании размеров блока, и выводит информацию в качестве сигнала CTRS управления. При этом, в таблице контекстов, индексы ctxIdx для низкочастотных компонентов устанавливаются дополнительно на основании условий, соответственно, определенных на основании позиций коэффициентов. Соответственно, в результате, блок 103 управления контекстом устанавливает контекст для входного сигнала SI согласно размеру блока и позиции коэффициента (этап S203).
[0101] С другой стороны, в случае, когда входной сигнал SI является коэффициентом, соответствующим высокочастотному компоненту (Нет на этапе S202), блок 105 управления классификацией контекстных блоков вычисляет условие окружения текущего сигнала, который должен быть кодирован (этап S204). Способ вычисления условия окружения описан ниже.
[0102] Затем блок 105 управления классификацией контекстных блоков определяет, больше ли размер блока текущего сигнала, который должен быть кодирован, чем предопределенный размер (этап S205).
[0103] В случае, когда размер блока входного сигнала SI меньше, чем, например, размер 16×16 блока (Нет на этапе S205), блок 105 управления классификацией контекстных блоков выбирает таблицу совместно используемых контекстов для малых размеров блока, и выводит информацию в качестве сигнала CTRS управления. При этом, в таблице контекстов, индексы ctxIdx для высокочастотных компонентов устанавливаются дополнительно на основании условий, соответственно, определенных на основании условий окружения. Соответственно, в результате, блок 103 управления контекстом устанавливает контекст для блоков малого размера, на основании условия окружения (этап S206).
[0104] В случае, когда размер блока входного сигнала SI превышает предопределенный размер (Да на этапе S205), блок 105 управления классификацией контекстных блоков выбирает таблицу совместно используемых контекстов для больших размеров блока, и выводит информацию в качестве сигнала CTRS управления. При этом, в таблице контекстов, индексы ctxIdx для высокочастотных компонентов устанавливаются также на основании условий, соответственно, определенных на основании условий окружения. Соответственно, в результате, блок 103 управления контекстом устанавливает контекст для блоков большого размера, на основании условия окружения (этап S207).
[0105] При этом можно дополнительно повысить эффективность кодирования за счет возможности выбора размеров 16×16, 32×32 и 64×64 блока в качестве размеров преобразования частоты, хотя в H.264 заданы только квантованные коэффициенты в блоках, каждый из которых имеет размер 4×4 или 8×8 блока. Однако с увеличением количества выбираемых размеров блока, для соответствующих размеров блока устанавливаются слишком строгие контексты. Таким образом, частота использования каждого из контекстов значительно снижается. По этой причине, совместно используемый контекст используется для входных сигналов, имеющих одинаковые статистические свойства, даже когда размеры блока различны, согласно вышеупомянутому способу. В частности, в операционном примере 1, контекст совместно используется между большими блоками, имеющими большой размер блока, и другой контекст совместно используется между малыми блоками, имеющими малый размер блока, благодаря чему, например, контекст для малых блоков используется для блоков, каждый из которых имеет размер 4×4 или 8×8 блока, и контекст для больших блоков используется для блоков, каждый из которых имеет размер 16×16, 32×32 или 64×64 блока. Это позволяет осуществлять арифметическое кодирование данных изображения с использованием статистических свойств, адаптированных к особенностям данных изображения, и, одновременно, увеличивать частоту использования каждого из контекстов и, таким образом, повышать эффективность кодирования. В вышеприведенном примере, можно выбирать размеры 4×4, 8×8, 16×16, 32×32 и 64×64 блока в качестве размеров в преобразовании частоты. Однако выбираемые размеры этим не ограничиваются. Такие выбираемые размеры можно произвольно устанавливать, например, можно устанавливать размеры 4×4, 8×8, 16×16 и 32×32 блока.
Операционный пример 2
[0106] Согласно фиг. 9, блок 105 управления классификацией контекстных блоков, прежде всего, определяет, на основании информации SE типа сигнала, позицию коэффициента входного сигнала SI, который является текущим сигналом, который должен быть кодирован, и определяет, включен ли входной сигнал SI в низкочастотную область или в высокочастотную область (этап S202). Способ определение здесь такой же, как в операционном примере 1.
[0107] В случае, когда входной сигнал SI является коэффициентом, соответствующим низкочастотному компоненту (Да на этапе S202), блок 105 управления классификацией контекстных блоков выбирает таблицу контекстов, установленную для размера блока, и выводит информацию в качестве сигнала CTRS управления. При этом, в таблице контекстов, индексы ctxIdx для низкочастотных компонентов устанавливаются дополнительно на основании условий, соответственно, определенных на основании позиций коэффициентов. Соответственно, в результате, блок 103 управления контекстом устанавливает контекст согласно размеру блока и позиции коэффициента (этап S203).
[0108] С другой стороны, в случае, когда входной сигнал SI является коэффициентом, соответствующим высокочастотному компоненту (Нет на этапе S202), блок 105 управления классификацией контекстных блоков вычисляет условие окружения текущего сигнала, который должен быть кодирован (этап S204). Способ вычисления условия окружения описан ниже.
[0109] Затем блок 105 управления классификацией контекстных блоков определяет, больше ли размер блока текущего сигнала, который должен быть кодирован, чем предопределенный размер (этап S205).
[0110] В случае, когда размер блока входного сигнала SI меньше, чем, например, размер 16×16 блока (Нет на этапе S205), блок 105 управления классификацией контекстных блоков выбирает таблицу контекстов для размера блока, и выводит информацию в качестве сигнала CTRS управления. Другими словами, таблица контекстов для блока, имеющего размер 4×4 блока, и таблица контекстов для блока, имеющего размер 8×8 блока, выбираются по отдельности. Соответственно, блок 103 управления контекстом устанавливает разные контексты для соответствующих размеров блока и условий (этап S216). В случае, когда размер блока мал, входные изображения SI могут иметь разные особенности изображения, например, детализированное содержание данных изображения. Таким образом, можно выполнять арифметическое кодирование с лучшей адаптацией к особенностям данных изображения путем осуществления вариативного примера, показанного на фиг. 9.
[0111] В случае, когда размер блока входного сигнала SI больше чем предопределенный размер (Да на этапе S205), блок 105 управления классификацией контекстных блоков выбирает таблицу совместно используемых контекстов для больших размеров блока, и выводит информацию в качестве сигнала CTRS управления. Другими словами, таблица совместно используемых контекстов для блоков каждый из которых имеет размер 16×16, 32×32 или 64×64 блока, определяется как контекст, который должен быть использован. При этом, в таблице контекстов, индексы ctxIdx для высокочастотных компонентов устанавливаются дополнительно на основании условий, соответственно, определенных на основании условий окружения. Соответственно, в результате, блок 103 управления контекстом устанавливает контекст для блоков большого размера, на основании условия окружения (этап S207).
[0112] В вышеприведенном примере, можно выбирать размеры 4×4, 8×8, 16×16, 32×32 и 64×64 блока в качестве размеров в преобразовании частоты. Однако выбираемые размеры этим не ограничиваются. Такие выбираемые размеры можно произвольно устанавливать, например, можно устанавливать размеры 4×4, 8×8, 16×16 и 32×32 блока.
Операционный пример 3
[0113] На фиг. 10A показана блок-схема последовательности операций, полученная переключением этапа S202 и этапа S205 на фиг. 9. На фиг. 10A и фиг. 9 показаны, по существу, одни и те же операции.
[0114] Согласно фиг. 10A, блок 105 управления классификацией контекстных блоков, прежде всего, определяет, больше ли размер блока входного сигнала SI, который является текущим сигналом, который должен быть кодирован, чем предопределенный размер (в соответствии с этапами S222 и S205 на фиг. 9). Далее описан гипотетический случай, когда предопределенный размер является размером 8×8 блока.
[0115] В случае, когда размер блока входного сигнала SI меньше предопределенного размера (Нет на этапе S222), блок 105 управления классификацией контекстных блоков выбирает таблицу контекстов для размера блока, и выводит информацию в качестве сигнала CTRS управления. Как описано в обзоре варианта осуществления 1, вариант осуществления 1 предусматривает случай, когда отсутствует осуществление совместного использования контекста для входных сигналов SI, включенных в блок, имеющий малый размер блока, и разные контексты устанавливаются для входных сигналов SI на основании соответствующих размеров блока и условий. Другими словами, контексты для малых блоков определяются, по существу, на основании соответствующих размеров блока и соответствующих позиций коэффициентов. Соответственно, в результате, блок 103 управления контекстом устанавливает разные контексты для соответствующих размеров блока и позиций коэффициентов (этап S223).
[0116] С другой стороны, в случае, когда размер блока входного сигнала SI превышает предопределенный размер (Да на этапе S222), блок 105 управления классификацией контекстных блоков вычисляет условие окружения для текущего сигнала, который должен быть кодирован (этап S224). Способ вычисления условия окружения описан ниже.
[0117] Затем блок 105 управления классификацией контекстных блоков определяет, является ли входной сигнал SI квантованным коэффициентом, соответствующим низкочастотному компоненту, или квантованным коэффициентом, соответствующим высокочастотному компоненту (в соответствии с этапом S225 и этапом S202 на фиг. 9).
[0118] В случае, когда входной сигнал SI является сигналом, соответствующим низкочастотному компоненту (Да на этапе S225), блок 105 управления классификацией контекстных блоков выбирает таблицу контекстов, в которой установлен контекст для размера блока, и выводит информацию в качестве сигнала CTRS управления. При этом, в таблице контекстов, индексы ctxIdx для низкочастотных компонентов устанавливаются дополнительно на основании условий, соответственно, определенных на основании позиций коэффициентов. Соответственно, в результате, блок 103 управления контекстом устанавливает контексты согласно позициям коэффициентов и размерам блока (этап S226).
[0119] В случае, когда входной сигнал SI является сигналом, соответствующим высокочастотному компоненту (Нет на этапе S225), блок 105 управления классификацией контекстных блоков выбирает таблицу совместно используемых контекстов для больших размеров блока, и выводит информацию в качестве сигнала CTRS управления. При этом, в таблице контекстов, индексы ctxIdx для высокочастотных компонентов устанавливаются для условий, соответственно, определенных на основании условий окружения. Соответственно, в результате, блок 103 управления контекстом устанавливает контекст для блоков большого размера, на основании условия окружения (этап S227).
[0120] В вышеприведенном примере, можно выбирать размеры 4×4, 8×8, 16×16, 32×32 и 64×64 блока в качестве размеров в преобразовании частоты. Однако выбираемые размеры этим не ограничиваются. Такие выбираемые размеры можно произвольно устанавливать, например, можно устанавливать размеры 4×4, 8×8, 16×16 и 32×32 блока.
Операционный пример 4
[0121] На фиг. 10B показана блок-схема последовательности операций в случае, когда совместно используемый контекст используется для входных сигналов SI, каждый из которых соответствует большому размеру блока, независимо от того, является ли каждый из входных сигналов SI низкочастотным компонентом или высокочастотным компонентом.
[0122] Согласно фиг. 10B, блок 105 управления классификацией контекстных блоков, прежде всего, определяет, больше ли размер блока входного сигнала SI, который является текущим сигналом, который должен быть кодирован, чем предопределенный размер (в соответствии с этапами S222 и S205 на фиг. 9). Далее описан гипотетический случай, когда предопределенный размер является размером 8×8 блока.
[0123] В случае, когда размер блока входного сигнала SI меньше предопределенного размера (Нет на этапе S222), блок 105 управления классификацией контекстных блоков выбирает таблицу контекстов, в которой установлен контекст для размера блока, и выводит информацию в качестве сигнала CTRS управления. При этом, как и операционный пример 3, операционный пример 4 предусматривает случай, когда совместное использование контекста не осуществляется для входных сигналов SI, включенных в блок, имеющий малый размер блока, и контексты устанавливаются для соответствующих размеров блока и условий. Другими словами, контексты для малых блоков определяются, по существу, на основании соответствующих размеров блока и соответствующих позиций коэффициентов. Соответственно, блок 103 управления контекстом устанавливает разные контексты для соответствующих размеров блока и позиций коэффициентов (этап S233).
[0124] В случае, когда размер блока входного сигнала SI больше предопределенного размера (Да на этапе S222), блок 105 управления классификацией контекстных блоков выбирает таблицу совместно используемых контекстов для больших размеров блока, и выводит информацию в качестве сигнала CTRS управления. При этом, в таблице контекстов, индексы ctxIdx для низкочастотных компонентов устанавливаются также на основании условий, соответственно, определенных на основании позиций коэффициентов, и индексы ctxIdx для высокочастотных компонентов устанавливаются также на основании условий, соответственно, определенных на основании условий окружения. Соответственно, в результате, блок 103 управления контекстом устанавливает контекст для блоков большого размера, на основании позиции коэффициента и условия окружения (этап S234).
[0125] В операционном примере 4, как упомянуто выше, совместное использование контекста осуществляется только для больших размеров блока (согласно варианту осуществления 4, большими размерами блока являются, например, размеры 16×16, 32×32, 64×64 блока и т.д., превышающие размер 8×8 блока). Другими словами, разные контексты выбираются для соответствующих малых размеров блока. Таким образом, можно выбирать контекст, адаптированный к особенностям данных изображения, для каждого из малых блоков, каждый из которых имеет сравнительно большое изменение. Кроме того, можно повысить частоту обновления вероятности вхождения символа путем осуществления совместного использования контекста для больших блоков, каждый из которых имеет сравнительно малое изменение, и, таким образом, повысить эффективность кодирования.
[0126] В вышеприведенном примере, можно выбирать размеры 4×4, 8×8, 16×16, 32×32 и 64×64 блока в качестве размеров в преобразовании частоты. Однако выбираемые размеры этим не ограничиваются. Такие выбираемые размеры можно произвольно устанавливать, например, можно устанавливать размеры 4×4, 8×8, 16×16 и 32×32 блока.
Вычисление условий окружения
[0127] Подробное описание приведено на основании фиг. 11.
[0128] В каждой из частей (a)-(c) фиг. 11, верхняя левая область 4×4 LFR является низкочастотной областью, соответствующей сигналу низкочастотного компонента. В каждом из вышеописанных операционных примеров 1-3, выбирается таблица контекстов для размера блока. В выбранной здесь таблице контекстов, индексы ctxIdx, указывающие контексты, устанавливаются для условий, определенных на основании позиций коэффициентов, и контекст определяется согласно размеру блока и позиции коэффициента.
[0129] С другой стороны, область, отличная от области LFR, является высокочастотной областью, соответствующей сигналу высокочастотного компонента. При этом высокочастотная область дополнительно сегментируется на частичную область TOP, соответствующую верхнему концевому участку (участку, ограниченному диагональными линиями от верхнего правого до нижнего левого угла), частичную область LEFT, соответствующую левому концевому участку (участку, ограниченному диагональными линиями от верхнего левого до нижнего правого угла), и частичную область HFR, соответствующую оставшейся области (участку, ограниченному пересекающимися диагональными линиями).
[0130] Условия окружения вычисляются для соответствующих трех частичных областей.
[0131] Сначала опишем вычисление условия окружения частичной области TOP. В частичной области TOP, условие окружения, соответствующее позиции коэффициента, обозначенной X в (d) на фиг. 11, определяется на основании количества квантованных коэффициентов ненулевых коэффициентов среди квантованных коэффициентов в соседних позициях коэффициентов a-d. В этом случае, значения условий окружения могут относиться к пяти видам в пределах от 0 до 4. При этом контексты можно устанавливать по отдельности для соответствующих пяти видов условий окружения. Например, можно осуществлять классификацию по трем группам (0), (1, 2) и (3, 4) и устанавливать три контекста для соответствующей группы. В классификации можно использовать другую комбинацию и можно генерировать произвольное количество групп.
[0132] Теперь опишем вычисление условия окружения частичной области LEFT. В частичной области LEFT, условие окружения, соответствующее позиции коэффициента, обозначенной X в (e) на фиг. 11, определяется на основании количества квантованных коэффициентов ненулевых коэффициентов среди квантованных коэффициентов в соседних позициях коэффициентов e-f. В этом случае, значения условий окружения могут относиться к пяти типам в пределах от 0 до 4. Как и в случае частичной области TOP, контексты можно устанавливать по отдельности для соответствующих пяти видов условий окружения. Например, можно осуществлять классификацию по трем группам (0), (1, 2) и (3, 4) и устанавливать три контекста для соответствующей группы. В классификации можно использовать другую комбинацию и можно генерировать произвольное количество групп.
[0133] Теперь опишем вычисление условия окружения частичной области HFR. В частичной области HFR, условие окружения, соответствующее позиции коэффициента, обозначенной X в (f) на фиг. 11, определяется на основании количества квантованных коэффициентов ненулевых коэффициентов среди квантованных коэффициентов в соседних позициях коэффициентов i-s.
В этом случае, значения условий окружения могут относиться к двенадцати типам в пределах от 0 до 11. Как и в случае частичной области TOP и частичной области LEFT, контексты можно устанавливать по отдельности для соответствующих двенадцати видов условий окружения. Например, можно осуществлять классификацию по пяти группам (0), (1, 2), (3, 4), (5, 6) и (7, 8, 9, 10, 11) и устанавливать пять контекстов для соответствующих групп. В классификации можно использовать другую комбинацию и можно генерировать произвольное количество групп.
[0134] Условия окружения, вычисленные согласно вышеупомянутому способу, представлены, в общем случае, как количества ненулевых коэффициентов, расположенных в позициях соседних коэффициентов. Таким образом, можно точно получить статистическую информацию вне зависимости от размеров блока, даже когда размеры блока различны. По этой причине, можно осуществлять совместное использование контекстов независимо размеров блока и повышать эффективность кодирования с использованием малого количества контекстов.
[0135] Следует отметить, что информацию, указывающую комбинацию контекстов, можно записывать в начальном участке (заголовке потока) в битовом потоке. Таким образом, можно изменять комбинацию контекстов согласно особенностям данных изображения, и, таким образом, ожидать дальнейшего повышения эффективности кодирования.
[0136] Кроме того, информацию, указывающую, используется ли один и тот же контекст для блоков, имеющих разные размеры блока, можно записывать в начальном участке (заголовке потока) битового потока. Таким образом, можно изменять комбинацию контекстов согласно особенностям данных изображения, и, таким образом, ожидать дальнейшего повышения эффективности кодирования.
[0137] Следует отметить, что единицей записи в заголовке может быть единица, соответствующая срезу или изображению. В этом случае, можно осуществлять более точное управление, чем в случае записи информация в единицах потока, и, таким образом, ожидать дальнейшего повышения эффективности кодирования.
Вариативный пример блока управления классификацией контекстных блоков
[0138] Вариант осуществления 1 описывает случай установления разных контекстов для входных сигналов SI низкочастотных компонентов, соответствующих малому размеру блока и большому размеру блока, и установления совместно используемого контекста для входных сигналов SI высокочастотных компонентов, соответствующих большому размеру блока. Однако, в случае больших размеров блока, также полезно сегментировать данные изображения на подблоки (имеющие малый размер блока) одного размера (в соответствии с этапом сегментирования) и устанавливать таблицу контекстов для малых размеров блока, то есть для каждого из подблоков. Другими словами, контекст совместно используется подблоком и блоками, имеющими такой же малый размер блока, как у подблока.
[0139] В частности, например, блок, имеющий большой размер 16×16 блока, сегментируется на шестнадцать подблоков 4×4, и контекст, который используется для блоков, имеющих малый размер 4×4 блока, применяется к арифметическому кодированию для соответствующих подблоков.
[0140] В этом случае, блок 101 бинаризации генерирует двоичный сигнал путем выполнения бинаризация на каждом из подблоков. Двоичный арифметический кодер 104 осуществляет арифметическое кодирование двоичного сигнала каждого из подблоков.
[0141] Благодаря этой структуре, можно использовать таблицу контекстов для малых размеров блока также для больших размеров блока. В результате, можно осуществлять совместное использование контекста между большими размерами блока и малыми размерами блока.
Общая структура устройства кодирования изображений
[0142] Блок 100 арифметического кодирования согласно варианту осуществления 1 входит в состав устройства кодирования изображений, которое кодирует со сжатием данные изображения.
[0143] Устройство 200 кодирования изображений кодирует со сжатием данные изображения. Например, устройство 200 кодирования изображений принимает, в качестве входных сигналов, данные изображения в единицах блоков. Устройство 200 кодирования изображений генерирует кодированный сигнал путем осуществления преобразования и квантования и кодирования переменной длины каждого из входных сигналов.
[0144] Здесь, на фиг. 12 показана блок-схема, демонстрирующая пример структуры устройства 200 арифметического кодирования, включающего в себя блок 100 арифметического кодирования согласно варианту осуществления 1. Как показано на фиг. 12, устройство 200 кодирования изображений включает в себя: вычитатель 205; блок 210 преобразования и квантования; блок 220 энтропийного кодирования (соответствующий блоку 100 арифметического кодирования на фиг. 3); блок 230 обратного квантования и обратного преобразования; сумматор 235; деблокирующий фильтр 240; память 250; блок 260 intra-прогнозирования; блок 270 оценки движения; блок 280 компенсации движения; и переключатель 290 intra/inter.
[0145] Устройство 200 кодирования изображений принимает, в качестве вводов, данные изображения в единицах блоков.
[0146] Вычитатель 205 вычисляет разность, в частности, ошибку прогнозирования между каждым из входных сигналов и соответствующим одним из сигналов прогнозирования.
[0147] Блок 210 преобразования и квантования генерирует коэффициенты преобразования в частотной области путем преобразования ошибки прогнозирования в пространственной области. Например, блок 210 преобразования и квантования генерирует коэффициенты преобразования путем осуществления дискретного косинусного преобразования (DCT) на ошибке прогнозирования. Кроме того, блок 210 преобразования и квантования генерирует коэффициенты преобразования путем квантования коэффициентов преобразования (этот процесс соответствует этапу преобразования частоты).
[0148] Блок 220 энтропийного кодирования сконфигурирован с блоком 100 арифметического кодирования, показанным на фиг. 3, и генерирует кодированный сигнал путем осуществления кодирования переменной длины каждого из квантованных коэффициентов. Кроме того, блок 220 энтропийного кодирования кодирует данные движения (например, вектор движения) оцененный блоком 270 оценки движения, добавляет данные движения в кодированный сигнал, и выводит кодированный сигнал. В частности, блок 100 арифметического кодирования, который образует блок 220 энтропийного кодирования, принимает каждый из квантованных коэффициентов в качестве входного сигнала SI, и осуществляет бинаризацию и арифметическое кодирование квантованного коэффициента. Кроме того, информация SE типа сигнала является информацией, указывающей данные движения, показанные на фиг. 12, направление intra-прогнозирования и пр., используемые блоком 260 intra-прогнозирования, который описан ниже, помимо позиции коэффициента квантованного коэффициента.
[0149] Блок 230 обратного квантования и обратного преобразования реконструирует каждый из коэффициентов преобразования путем осуществления обратного квантования квантованного коэффициента, выводимого блоком 210 преобразования и квантования. Кроме того, блок 230 обратного квантования и обратного преобразования реконструирует ошибку прогнозирования путем осуществления обратного преобразования на реконструированном коэффициенте преобразования. При этом реконструированная ошибка прогнозирования страдает от частичной потери информации при квантовании и, таким образом, не полностью совпадает с ошибкой прогнозирования, генерируемой вычитателем 205. Другими словами, реконструированные ошибки прогнозирования включают в себя ошибку квантования.
[0150] Сумматор 235 генерирует локальные декодированные изображения путем суммирования каждого из реконструированных ошибок прогнозирования и соответствующего одного из сигналов прогнозирования.
[0151] Деблокирующий фильтр 240 осуществляет деблокирующую фильтрацию на каждом из сгенерированных локальных декодированных изображений.
[0152] Память 250 это память для хранения опорных изображений для использования в компенсации движения. В частности, в памяти 250 хранятся локальные декодированные изображения, подвергнутые деблокирующей фильтрации.
[0153] Блок 260 intra-прогнозирования генерирует сигналы прогнозирования (сигналы intra-прогнозирования) путем осуществления intra-прогнозирования. В частности, блок 260 intra-прогнозирования генерирует сигнал intra-прогнозирования путем осуществления intra-прогнозирования с опорой на изображения, окружающие текущий блок, который должен быть декодирован (входной сигнал), в локальном декодированном изображении, сгенерированном сумматором 235.
[0154] Блок 270 оценки движения оценивает данные движения (например, вектор движения) между каждым из входных сигналов и его опорным изображением, хранящимся в памяти 250.
[0155] Блок 280 компенсации движения генерирует сигнал прогнозирования (сигнал inter-прогнозирования) путем осуществления компенсации движения на основании оцененных данных движения.
[0156] Переключатель 290 intra/inter выбирает один из сигнала intra-прогнозирования и сигнала inter-прогнозирования и выводит выбранный сигнал в качестве сигнала прогнозирования на вычитатель 205 и сумматор 235.
[0157] Благодаря этой структуре, устройство 200 кодирования изображений согласно варианту осуществления 1 кодирует со сжатием данные изображения.
[0158] Блок 100 арифметического кодирования и осуществляемая им обработка в устройстве кодирования изображений и способе кодирования изображений согласно варианту осуществления 1 сконфигурированы для применения одного и того же контекста к данным изображения, имеющим одинаковые статистические свойства, даже когда размеры блока различны. Таким образом, количество контекстов уменьшается, что позволяет уменьшить размер памяти. Кроме того, в общем случае, большие размеры 16×16 блока или более возникают с меньшей вероятностью, чем малые размеры блока, например, 4×4, 8×8, и пр. По этой причине, можно повысить точность для классификаций с низкой точностью в вероятности PE вхождения символа путем осуществления совместного использования контекста для больших размеров блока, которые возникают с меньшей вероятностью. Другими словами, можно лучше отражать статистическую информацию в вероятности PE вхождения символа целиком. Таким образом, можно повышать эффективность кодирования.
Вариант осуществления 2
[0159] Вариант осуществления 2 способа декодирования изображений и устройства декодирования изображений согласно настоящему изобретению описаны со ссылкой на фиг. 13-фиг. 16.
[0160] Способ декодирования изображений согласно настоящему изобретению относится, в частности, к способу арифметического декодирования в порядке примера энтропийного декодирования, в декодировании, состоящем из декодирования переменной длины (например, энтропийного декодирования), обратного квантования и обратного преобразования, прогнозирования, и пр. на текущем сигнале, который должен быть декодирован, кодированных данных изображения. Кроме того, устройство декодирования изображений согласно настоящему изобретению сконфигурировано таким образом, что включает в себя блок арифметического декодирования (блок энтропийного декодирования), который выполняет вышеупомянутый способ арифметического декодирования, блок преобразования и квантования и блок прогнозирования. Общая структура устройства декодирования изображений описана ниже.
Обзор варианта осуществления 2
[0161] Сначала опишем в общих чертах способ арифметического декодирования и блок арифметического декодирования согласно варианту осуществления 2. Здесь, как и в варианте осуществления 1, приведено описание случая, когда сигнал, указывающий, является ли текущий из квантованных коэффициентов частотных компонентов, сгенерированных посредством преобразования и квантования, нулевым коэффициентом или ненулевым коэффициентом, вводится в качестве входного потока IS на блок арифметического декодирования.
[0162] Как описано согласно варианту осуществления 1, согласно варианту осуществления 2, (i) в случае входных потоков IS высокочастотных компонентов в больших блоках, каждый из которых имеет большой размер блока, контекст, который устанавливается для одного и того же условия, частично или полностью совместно используется между большими блоками, которые имеют одинаковые статистические свойства, даже когда размеры блока различны, и (ii) в случае входного потока IS низкочастотных компонентов в блоке, имеющем большой размер блока, и входного потока IS низкочастотных компонентов в блоке, имеющем малый размер блока, контексты устанавливаются для соответствующих размеров блока и условий без совместного использования контекста между блоками даже когда условия одинаковы.
[0163] Таким образом, можно надлежащим образом декодировать кодированные данные изображения, закодированные более эффективно, чем кодированное изображение согласно варианту осуществления 1.
[0164] В случае, когда, согласно варианту осуществления 1, совместно используемый контекст используется для входных потоков IS, каждый из которых соответствует большому размеру блока, независимо от того, соответствует ли каждый из входных потоков IS низкочастотному компоненту или высокочастотному компоненту, способ декодирования изображений и устройство декодирования изображений согласно варианту осуществления 2 могут использовать совместно используемый контекст для входных потоков IS, соответствующих большому размеру блока. Способ выбора цели для совместного использования контекста предпочтительно устанавливается согласно способу выбора в способе кодирования изображений и устройстве кодирования изображений согласно варианту осуществления 1.
Структура блока арифметического декодирования согласно варианту осуществления 2
[0165] Теперь опишем структуру блока арифметического декодирования, который осуществляет способ арифметического декодирования согласно варианту осуществления 2.
[0166] Здесь, на фиг. 13 показана блок-схема, демонстрирующая пример структуры блока 300 арифметического декодирования согласно варианту осуществления 2.
[0167] Как показано на фиг. 13, блок 300 арифметического декодирования включает в себя двоичный арифметический декодер 301, блок 302 хранения вероятностей вхождения символа, блок 303 управления контекстом, блок 304 многозначного преобразования, и блок 305 управления классификацией контекстных блоков.
[0168] Блок 300 арифметического декодирования реконструирует кодированные данные изображения путем выполнения арифметического декодирования входного потока IS, который является текущим сигналом, который должен быть декодирован, кодированных данных изображения, и выводит реконструированные кодированные данные изображения. Согласно варианту осуществления 2, блок 300 арифметического декодирования принимает, в качестве вводов, входной поток IS, информацию SE типа сигнала, указывающую тип входного потока IS, и сигнал BLKS размера блока, указывающий размер блока входного сигнала SI.
[0169] Предполагается, что входной поток IS согласно варианту осуществления 2 является сигналом OB, который выводится из блока 100 арифметического кодирования согласно варианту осуществления 1.
[0170] Кроме того, информация SE типа сигнала является информацией, указывающей свойства входного потока IS, который является текущим сигналом, который должен быть декодирован, кодированных данных изображения. В частности, информация типа сигнала согласно варианту осуществления 2 такая же, как информация SE типа сигнала согласно варианту осуществления 1. Здесь приведено описание, предполагающее случай, когда информация SE типа сигнала указывает позиции коэффициентов и условия окружения. Информация SE типа сигнала может представлять собой данные движения или информацию, указывающую направление intra-прогнозирования и т.п., которые используются блоком 450 intra-прогнозирования устройства 400 декодирования изображений, показанного на фиг. 16 и описанного ниже.
[0171] Как и в варианте осуществления 1, вариант осуществления 2 сконфигурирован для приема сигналов BLKS размера блока, предполагая, что контексты устанавливаются пригодно для размеров блока. Однако можно сконфигурировать вариант осуществления, который не использует такие сигналы BLKS размера блока в случае установки контекстов согласно другим особенностям данных изображения.
[0172] Двоичный арифметический декодер 301 генерирует двоичный сигнал OBIN путем осуществления арифметического декодирования входного потока IS с использованием вероятности PE вхождения символа, которая является декодированной информацией вероятности, считанной из блока 302 хранения вероятностей вхождения символа блоком 303 управления контекстом, описанным ниже.
[0173] Блок 302 хранения вероятностей вхождения символа представляет собой блок хранения, сконфигурированный в виде энергонезависимой памяти и т.п., и сохраняет информационную таблицу сигнала и множество таблиц контекстов.
Блок 102 хранения вероятностей вхождения символа также сохраняет таблицу вероятностей вхождения (не показана), указывающую значение одной из вероятностей PE вхождения символа, которая соответствует информации pStateIdx вероятности.
[0174] Информационная таблица сигнала идентична традиционной информационной таблице сигнала, показанной на фиг. 4, и сохраняет индексы ctxIdx, вероятности pStateIdx вхождения и символы valMPS связанным образом. Здесь, как и в варианте осуществления 1, также полезно использовать, в качестве информационной таблицы сигнала, таблицу, в которой контексты ctxIdx и значения вероятностей PE вхождения символа непосредственно связаны друг с другом.
[0175] Как и в варианте осуществления 1, таблица контекстов состоит из множества таблиц, в которых контексты ctxIds устанавливаются согласно условиям. Детали таблицы контекстов такие же, как в варианте осуществления 1.
[0176] Блок 303 управления контекстом выполняет обработку управления контекстом для идентификации вероятности PE символа для использования в двоичном арифметическом декодере 301 и обновляет обработку для обновления вероятностей PE вхождения символа в блоке 302 хранения вероятностей вхождения символа.
[0177] Приведено описание обработки управления контекстом блоком 303 управления контекстом. Блок 303 управления контекстом получает сигнал CTRS управления, который выводится из блока 305 управления классификацией контекстных блоков, который описан ниже, и получает таблицу, которая должна быть использована, среди таблиц контекстов в блоке 302 хранения вероятностей вхождения символа. Кроме того, блок 303 управления контекстом идентифицирует контекст ctxIdx, соответствующий условию, идентифицированному на основании информации SE типа сигнала, со ссылкой на идентифицированную таблицу в блоке 302 хранения вероятностей вхождения символа.
[0178] Затем блок 303 управления контекстом получает вероятность pStateIdx вхождения, соответствующую индексу ctxIdx, со ссылкой на информационную таблицу сигнала. Блок 303 управления контекстом идентифицирует вероятность PE вхождения символа для использования в двоичном арифметическом декодере 301, со ссылкой на таблицу вероятностей вхождения, хранящуюся в блоке 302 хранения вероятностей вхождения символа, на основании вероятности pStateIdx вхождения. Кроме того, блок 303 управления контекстом предписывает блоку 302 хранения вероятностей вхождения символа выводить идентифицированную вероятность PE вхождения символа на двоичный арифметический декодер 301.
[0179] Теперь опишем обработку обновления, осуществляемую блоком 303 управления контекстом. Обработка обновления блоком 303 управления контекстом осуществляется на основании стандарта H.264. В частности, блок 303 управления контекстом выводит новую вероятность PE вхождения символа и символ valMPS на основании входного потока IS. Блок 303 управления контекстом заменяет, значением, соответствующим новой вероятности PE вхождения символа, значение вероятности pStateIdx вхождения, соответствующее контексту ctxIdx, идентифицированному при обработке управления контекстом, в информационной таблице сигнала, хранящейся в блоке 302 хранения вероятностей вхождения символа.
[0180] Блок 304 многозначного преобразования реконструирует данные изображения путем осуществления многозначного преобразования на двоичном сигнале OBIN, сгенерированном двоичным арифметическим декодером 301. Схема многозначного преобразования определяется на основании информации SE типа сигнала.
[0181] Как и в варианте осуществления 1, согласно варианту осуществления 2, блок 305 управления классификацией контекстных блоков определяет таблицу среди таблиц контекстов в блоке 302 хранения вероятностей вхождения символа на основании сигнала BLKS размера блока и информации SE типа сигнала, генерирует сигнал CTRS управления, указывающий определенную таблицу, и выводит сигнал CTRS управления на блок 103 управления контекстом.
Процедура обработки согласно варианту осуществления 2
[0182] Теперь опишем структуру способа арифметического декодирования, осуществляемого блоком 300 арифметического декодирования согласно варианту осуществления 2.
[0183] Здесь, на фиг. 14 показана блок-схема последовательности операций, описывающая процедуру обработки в способе арифметического декодирования согласно настоящему изобретению. Способ декодирования изображений согласно настоящему изобретению сконфигурирован таким образом, что включает в себя: этап получения текущего сигнала, который должен быть декодирован, для получения текущего сигнала, который должен быть декодирован, кодированных данных изображения (этап S501); этап выбора контекста для выбора контекста текущего сигнала, который должен быть декодирован среди множества контекстов (этап S502); этап арифметического декодирования для генерации двоичного сигнала путем осуществления арифметического декодирования текущего сигнала, который должен быть декодирован, с использованием декодированной информации вероятности, связанной с контекстом, выбранным на этапе выбора контекста (этап S503), этап многозначного преобразования для реконструкции данных изображения путем осуществления многозначного преобразования на двоичном сигнале (этап S504); и этап обновления для обновления декодированной информации вероятности, связанной с контекстом, выбранным на этапе выбора контекста (этап S505), и для выбора, на этапе выбора контекста, контекста для текущего сигнала, который должен быть декодирован, также в качестве контекста для другого сигнала, который должен быть декодирован, включенного в единицу обработки, имеющую размер отличный от размера единицы обработки, включающей в себя текущий сигнал, который должен быть декодирован.
[0184] На фиг. 15 показана блок-схема последовательности операций, более подробно описывающая процедуру обработки способа арифметического декодирования согласно варианту осуществления 2. Блок-схема последовательности операций на фиг. 15 демонстрирует арифметическое декодирование входного потока сигнала SI (текущего сигнала, который должен быть декодирован).
[0185] Как показано на фиг. 15, с началом арифметического декодирования, блок 305 управления классификацией контекстных блоков получает размер блока текущего сигнала, который должен быть декодирован, на основании сигнала BLKS размера блока (этап S301).
[0186] Затем блок 305 управления классификацией контекстных блоков определяет, использовать ли совместно используемый контекст для разных размеров блоков, на основании размера блока и информации SE типа сигнала, полученной на этапе S301 (этап S302).
[0187] Когда блок 305 управления классификацией контекстных блоков решает использовать контекст для размера блока (Нет на этапе S302), блок 305 управления классификацией контекстных блоков выбирает таблицу, в которой установлен контекст для размера блока, и выводит сигнал CTRS управления, указывающий таблицу, на блок 303 управления контекстом (этап S303).
[0188] С другой стороны, когда блок 305 управления классификацией контекстных блоков решает использовать совместно используемый контекст для размера блока (Да на этапе S302), блок 305 управления классификацией контекстных блоков выбирает таблицу, в которой совместно используемый контекст для размера блока устанавливается среди таблиц контекстов в блоке 102 хранения вероятностей вхождения символа, и выводит сигнал CTRS управления, указывающий таблицу, на блок 303 управления контекстом (этап S304).
[0189] Детали операций, производимых блоком 305 управления классификацией контекстных блоков, такие же, как в операционных примерах 1-3 согласно варианту осуществления 1.
[0190] Блок 303 управления контекстом определяет таблицу контекстов, соответствующую входному потоку IS, среди таблиц контекстов хранящиеся в блоке 302 хранения вероятностей вхождения символа, на основании сигнала CTRS управления (этап S305).
[0191] Блок 303 управления контекстом определяет контекст ctxIdx на основании условия, определенного на основании информации SE типа сигнала, со ссылкой на выбранную таблицу контекстов (обработка от этапа S302 до этого момента соответствует этапу выбора контекста, и блок 305 управления классификацией контекстных блоков и блок 303 управления контекстом которые выполняют этапы, соответствуют блоку управления выбором контекста). Кроме того, блок 303 управления контекстом идентифицирует вероятность PE вхождения символа, соответствующую контексту ctxIdx, со ссылкой на информационную таблицу сигнала и таблицу вероятностей вхождения, считывает идентифицированную вероятность PE вхождения символа из блока 302 хранения вероятностей вхождения символа, и выводит считанную вероятность PE вхождения символа на двоичный арифметический декодер 301.
[0192] Двоичный арифметический декодер 301 получает текущий сигнал, который должен быть декодирован, входного потока IS (этап получения текущего сигнала, который должен быть декодирован), и получает вероятность PE вхождения символа (декодированную информацию вероятности), идентифицированную блоком 303 управления контекстом. Двоичный арифметический декодер 301 генерирует двоичный выходной сигнал OBIN путем выполнения арифметического декодирования текущего сигнала, который должен быть декодирован, с использованием полученной вероятности PE вхождения символа (декодированной информации вероятности) согласно стандарту H.264 (этап S306, этап арифметического декодирования).
[0193] Блок 303 управления контекстом выполняет обработку обновления для обновления вероятности PE вхождения символа на основании двоичного сигнала OBIN, сгенерированного двоичным арифметическим декодером 301 (этап S307, этап обновления). Процедура выполнения в обработке обновления такая же, как в обработке обновления согласно варианту осуществления 1.
[0194] Блок 304 многозначного преобразования реконструирует данные изображения путем осуществления многозначного преобразования на двоичном сигнале OBIN (этап S308, этап многозначного преобразования).
Вариативный пример блока управления классификацией контекстных блоков
[0195] Например, в случае, когда способ арифметического кодирования и устройство арифметического кодирования согласно варианту осуществления 1 сконфигурированы для сегментирования блока, имеющего большой размер блока, на подблоки (имеющие малый размер блока) одного размера и для использования контекста для малых размеров блока, то есть для каждого из подблоков, предпочтительно, чтобы способ арифметического декодирования и устройство арифметического декодирования согласно варианту осуществления 2 были сконфигурированы для сегментирования блока, имеющего большой размер блока, на подблоки (имеющие малый размер блока) одного размера и для использования контекста для малых размеров блока, то есть для каждого из подблоков.
[0196] В частности, например, в случае, когда устройство арифметического кодирования сегментирует блок, имеющий большой размер 16×16 блока, на подблоки, имеющие малый размер 4×4 блока, и выполняет арифметическое кодирование каждого из подблоков, контекст, который используется для блоков, имеющих малый размер 4×4 блока, применяется к арифметическому декодированию каждого из подблоков.
[0197] В этом случае, блок 300 арифметического декодирования выполняет арифметическое декодирование каждого подблока для реконструкции подблоков, имеющих большой размер блока, и выводит реконструированные подблоки на блок 420 обратного квантования и обратного преобразования.
[0198] Благодаря этой структуре, можно использовать таблицу контекстов для малых размеров блока также для большого размера блока. В результате, можно осуществлять совместное использование контекста между большим блоком, имеющим большой размер блока, и малыми блоками, имеющими малый размер блока.
Общая структура устройства декодирования изображений
[0199] Блок 300 арифметического декодирования согласно варианту осуществления 2 входит в состав устройства декодирования изображений, которое декодирует кодированные со сжатием данные изображения.
[0200] Устройство 400 декодирования изображений декодирует кодированные со сжатием данные изображения. Например, устройство 400 декодирования изображений принимает, в качестве сигналов, которые должны быть декодированы, кодированное изображение в единицах блоков. Устройство 400 декодирования изображений реконструирует данные изображения путем осуществления декодирования переменной длины и обратного квантования и обратного преобразования на входных сигналах, которые должны быть декодированы.
[0201] Здесь, на фиг. 16 показана блок-схема, демонстрирующая пример структуры блока 400 арифметического декодирования согласно варианту осуществления 2 настоящего изобретения. Как показано на фиг. 16, устройство 400 декодирования изображений включает в себя: блок 410 энтропийного декодирования, блок 420 обратного квантования и обратного преобразования, сумматор 425, деблокирующий фильтр 430, память 440, блок 450 intra-прогнозирования, блок 460 компенсации движения и переключатель 470 intra/inter.
[0202] Устройство 400 декодирования изображений принимает кодированные данные изображения в единицах блоков в качестве входного сигнала (входного потока IS).
[0203] Блок 410 энтропийного декодирования сконфигурирован с блоком 300 арифметического декодирования, показанным на фиг. 13 и реконструирует квантованные коэффициенты путем осуществления декодирования переменной длины, которое предусматривает арифметическое декодирование и многозначное преобразование входных сигналов (входных потоков IS). В данном случае, входные сигналы (входные потоки IS) являются сигналами, которые должны быть декодированы и соответствуют данным в единицах блоков кодированных данных изображения. Кроме того, блок 410 энтропийного декодирования получает данные движения из каждого из входных сигналов и выводит полученные данные движения на блок 460 компенсации движения.
[0204] Блок 420 обратного квантования и обратного преобразования реконструирует коэффициенты преобразования путем осуществления обратного квантования на квантованных коэффициентах, реконструированных блоком 410 энтропийного декодирования. Кроме того, блок 420 обратного квантования и обратного преобразования реконструирует ошибки прогнозирования путем осуществления обратного преобразования на реконструированных коэффициентах преобразования и выводит реконструированные ошибки прогнозирования на сумматор 425.
[0205] Сумматор 425 генерирует декодированное изображение путем суммирования ошибки прогнозирования, реконструированной блоком 420 обратного квантования и обратного преобразования, и сигнала прогнозирования, который описан ниже, и выводит сгенерированное декодированное изображение на деблокирующий фильтр 430 и блок 450 intra-прогнозирования.
[0206] Деблокирующий фильтр 430 осуществляет деблокирующую фильтрацию на декодированном изображении, сгенерированном сумматором 425. Декодированное изображение, подвергнутое деблокирующей фильтрации, выводится как декодированный сигнал.
[0207] Память 440 это память для хранения опорных изображений для использования в компенсации движения. В частности, в памяти 440 хранятся декодированные изображения, подвергнутые деблокирующей фильтрации.
[0208] Блок 450 intra-прогнозирования генерирует сигнал прогнозирования (сигнал intra-прогнозирования) путем осуществления intra-прогнозирования. В частности, блок 450 intra-прогнозирования генерирует сигнал intra-прогнозирования путем осуществления intra-прогнозирования с опорой на изображения, окружающие текущий блок, который должен быть декодирован (входной сигнал), в декодированном изображении, сгенерированном сумматором 425.
[0209] Блок 460 компенсации движения генерирует сигнал прогнозирования (сигнал inter-прогнозирования) путем осуществления компенсации движения на основании данных движения, выводимых из блока 410 энтропийного декодирования.
[0210] Переключатель 470 intra/inter выбирает один из сигнала intra-прогнозирования и сигнала inter-прогнозирования и выводит выбранный сигнал в качестве сигнала прогнозирования на сумматор 425.
[0211] Благодаря этой структуре, устройство 400 декодирования изображений согласно варианту осуществления 2 декодирует кодированные со сжатием данные изображения.
[0212] Следует отметить, что вариант осуществления 1 может быть сконфигурирован для записи информации, указывающей, используется ли совместно используемый контекст для блоков, имеющих разные размеры блока, в начальном участке (заголовке потока) битового потока выходного сигнала OB, и что вариант осуществления 2 может быть сконфигурирован таким образом, что блок 410 энтропийного декодирования получает информацию в качестве информации SE типа сигнала и определяет, использовать ли таблицу контекстов для размера блока или использовать таблицу совместно используемых контекстов. Единицу записи в заголовок потока можно декодировать даже когда единица соответствует срезу или изображению.
[0213] Как описано выше, как и с блоком 100 арифметического кодирования согласно варианту осуществления 1, устройство декодирования изображений и способ декодирования изображений согласно варианту осуществления 2 сконфигурированы для применения одного и того же контекста к данным изображения, имеющим одинаковые статистические свойства, даже когда размеры блока различны, и, таким образом, для более надежного и точного декодирования кодированного изображения согласно варианту осуществления 1. Соответственно, устройство декодирования изображений и способ декодирования изображений согласно варианту осуществления 2 настоящего изобретения также позволяют уменьшить количество контекстов, повысить частоту обновления каждой из вероятностей PE вхождения символа, имеющих низкую вероятность вхождения, для повышения точности вероятности PE вхождения символа, и, таким образом, повышения эффективности кодирования.
[0214] Кроме того, предпочтительно, чтобы устройство кодирования и декодирования изображений было сконфигурировано таким образом, что включало в себя устройство кодирования изображений согласно варианту осуществления 1 и устройство декодирования изображений согласно варианту осуществления 2.
Вариант осуществления 3
[0215] Способ кодирования движущихся изображений (способ кодирования изображений) или способ декодирования движущихся изображений (способ декодирования изображений) описанный в любом из вариантов осуществления можно просто реализовать в независимой компьютерной системе, путем записи, на носитель записи, программы для реализации конфигураций способа кодирования движущихся изображений и способа декодирования движущихся изображений, описанных в любом из вариантов осуществления. Носителями записи могут быть любые носители записи, на которых можно записывать программу, например, магнитный диск, оптический диск, магнитооптический диск, плата ИС и полупроводниковая память.
[0216] Далее будут описаны применения к способу кодирования движущихся изображений и способу декодирования движущихся изображений, описанным в любом из вариантов осуществления, и использующие их системы. Каждая из систем отличается тем, что включает в себя устройство кодирования и декодирования изображений, состоящее из устройства кодирования изображений, которое осуществляет способ кодирования изображений, и устройства декодирования изображений, которое осуществляет способ декодирования изображений. Другие структурные элементы в системе можно надлежащим образом модифицировать для адаптации к конкретным случаям.
[0217] Фиг. 17 иллюстрирует общую структуру системы ex100 предоставления контента для реализации услуг распространения контента. Область для предоставления услуг связи делится на соты нужного размера, и базовые станции ex106, ex107, ex108, ex109, и ex110, которые являются стационарными станциями беспроводной связи, располагаются в каждой из сот.
[0218] Система ex100 предоставления контента подключена к таким устройствам, как компьютер ex111, карманный персональный компьютер (КПК) ex112, камера ex113, мобильный телефон ex114 и игровая машина ex115, через интернет ex101, поставщика ex102 услуг интернета, телефонную сеть ex104, а также базовые станции ex106-ex110.
[0219] Однако конфигурация системы ex100 предоставления контента не ограничивается конфигурацией, показанной на фиг. 17, и приемлема комбинация, в которой соединены любые из элементов. Кроме того, каждое устройство может подключаться к телефонной сети ex104 напрямую, а не через базовые станции ex106-ex110, которые являются стационарными станциями беспроводной связи. Кроме того, устройства могут соединяться друг с другом посредством короткодействующей беспроводной связи или других видов связи.
[0220] Камера ex113, например, цифровая видеокамера, способна производить видеосъемку. Камера ex116, например, цифровая видеокамера, способна производить как фотосъемку, так и видеосъемку. Кроме того, мобильный телефон ex114 может соответствовать любому из стандартов, например, глобальной системы мобильной связи (GSM), множественного доступа с кодовым разделением (CDMA), широкополосного множественного доступа с кодовым разделением (W-CDMA), Проекта долгосрочного развития систем связи (LTE) и высокоскоростного пакетного доступа (HSPA). Альтернативно, мобильный телефон ex114 может представлять собой систему Personal Handyphone (PHS).
[0221] В системе ex100 предоставления контента, сервер ex103 потоковой передачи подключен к камере ex113 и другим устройствам через телефонную сеть ex104 и базовую станцию ex109, что позволяет распространять изображения шоу в прямом эфире и других программ. При таком распространении, контент (например, видеозапись музыкального шоу в прямом эфире), захваченный пользователем с использованием камеры ex113, кодируется (то есть, как если бы контент кодировался в устройстве кодирования изображений согласно настоящему изобретению) как описано выше в любом из вариантов осуществления, и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи осуществляет распространение потока данных передаваемого контента на клиенты по их запросам. Клиенты включают в себя компьютер ex111, КПК ex112, камеру ex113, мобильный телефон ex114 и игровую машину ex115, которые способны декодировать вышеупомянутые кодированные данные. Приняв распространяемые данные, каждое из устройств декодирует принятые данные и воспроизводит декодированные данные (то есть, как если бы контент кодировался в устройстве кодирования изображений согласно настоящему изобретению).
[0222] Данные съемки могут кодироваться камерой ex113 или сервером ex103 потоковой передачи, который передает данные, или процессы кодирования могут совместно использоваться между камерой ex113 и сервером ex103 потоковой передачи. Аналогично, распространяемые данные могут декодироваться клиентами или сервером ex103 потоковой передачи, или процессы декодирования могут совместно использоваться между клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и видео, захваченных не только камерой ex113, но и камерой ex116, могут передаваться на сервер ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут осуществляться камерой ex116, компьютером ex111 или сервером ex103 потоковой передачи, или совместно использоваться между ними.
[0223] Кроме того, процессы кодирования и декодирования могут осуществляться посредством БИС ex500, в общем случае, входящей в состав каждого из компьютера ex111 и устройств. БИС ex500 может быть сконфигурирована в виде единого кристалла или множества кристаллов. Программное обеспечение для кодирования и декодирования движущихся изображений может интегрироваться в тот или иной тип носителя записи (например, CD-ROM, гибкий диск, жесткий диск), считываемый компьютером ex111 и другими устройствами, и процессы кодирования и декодирования могут осуществляться с использованием программного обеспечения. Кроме того, когда мобильный телефон ex114 оборудован камерой, видеоданные, полученные камерой, могут передаваться. Видеоданные представляют собой данные, кодированные посредством БИС ex500, входящей в состав мобильного телефона ex114.
[0224] Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров, и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распространять данные.
[0225] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, переданную пользователем, и воспроизводить декодированные данные в реальном времени в системе ex100 предоставления контента, что позволяет пользователю, не имеющему прав и оборудования для таких целей, пользоваться персональным вещанием.
[0226] Помимо примера системы ex100 предоставления контента по меньшей мере одно из устройства кодирования движущихся изображений и устройства декодирования движущихся изображений, описанных в любом из вариантов осуществления, может входить в состав системы ex200 цифрового вещания, показанной на фиг. 18. В частности, вещательная станция ex201 посылает или передает, посредством радиоволн, на вещательный спутник ex202, мультиплексированные данные, полученные путем мультиплексирования аудиоданных и других данных в видеоданные. Эти видеоданные это данные, кодированные согласно способу кодирования движущихся изображений в любом из вариантов осуществления (то есть, данные, кодированные устройством кодирования изображений согласно настоящему изобретению). Приняв мультиплексированные данные, вещательный спутник ex202 передает радиоволны для вещания. Затем домашняя антенна ex204 с функцией приема спутникового вещания принимает радиоволны. Затем устройство, например, телевизор (приемник) ex300 и телевизионная приставка (STB) ex217, декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (то есть, как если бы контент кодировался в устройстве кодирования изображений согласно настоящему изобретению).
[0227] Кроме того, устройство ex218 чтения и записи, которое (i) считывает и декодирует мультиплексированные данные, записанные на носителях ex215 записи, например, DVD и BD, или (i) кодирует видеосигналы на носителе ex215 записи, и, в ряде случаев, записывает данные, полученные путем мультиплексирования аудиосигнала, на кодированных данных, может включать в себя устройство декодирования движущихся изображений или устройство кодирования движущихся изображений, показанное в любом из вариантов осуществления. В этом случае, воспроизводимые видеосигналы отображаются на мониторе ex219, и могут воспроизводиться другим устройством или системой с использованием носителя ex215 записи, на котором записаны мультиплексированные данные. Можно также реализовать устройство декодирования движущихся изображений в телевизионной приставке ex217, подключенной к кабелю ex203 для кабельного телевизора (приемника) или к антенне ex204 для спутникового и/или наземного вещания, для отображения видеосигналов на мониторе ex219 телевизора (приемник) ex300. Устройство декодирования движущихся изображений может быть встроено не в телевизионную приставку, а в телевизор (приемник) ex300.
[0228] Фиг. 19 иллюстрирует телевизор (приемник) ex300, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанный в любом из вариантов осуществления. Телевизор (приемник) ex300 включает в себя: блок ex301 настройки, который получает или обеспечивает мультиплексированные данные, полученные путем мультиплексирования аудиоданных в видеоданные, через антенну ex204 или кабель ex203, и т.д. который принимает широковещательные передачи; блок ex302 модуляции и демодуляции который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые должны быть выведены; и блок ex303 мультиплексирования и демультиплексирования который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, закодированные блоком ex306 обработки сигнала, в данные.
[0229] Кроме того, телевизор (приемник) ex300 включает в себя: блок ex306 обработки сигнала, включающий в себя блок ex304 обработки аудиосигнала и блок ex305 обработки видеосигнала, которые декодируют аудиоданные и видеоданные или кодируют их информацию, соответственно (телевизор (приемник) 300 функционирует как устройство кодирования изображений или устройство декодирования изображений согласно настоящему изобретению); и блок ex309 вывода, включающий в себя громкоговоритель ex307, который обеспечивает декодированный аудиосигнал, и блок ex308 отображения, например устройство отображения, которое отображает декодированный видеосигнал. Кроме того, телевизор (приемник) ex300 включает в себя блок ex317 интерфейса, включающий в себя блок ex312 ввода операций, который принимает ввод пользовательской операции. Кроме того, телевизор (приемник) ex300 включает в себя блок ex310 управления, который управляет в целом каждым структурным элементом телевизора (приемника) ex300, и блок ex311 питания, который подает питание на каждый из элементов. Помимо блока ex312 ввода операций, блок ex317 интерфейса может включать в себя: мост ex313, который подключен к внешнему устройству, например, устройству ex218 чтения и записи; щелевой блок ex314 для обеспечения присоединения носителя ex216 записи, например SD-карты; привод ex315, который должен быть подключен к внешнему носителю записи, например, жесткому диску; и модем ex316, подключаемый к телефонной сети. В данном случае, носитель ex216 записи может электрически записывать информацию с использованием энергонезависимого или энергозависимого элемента полупроводниковой памяти для хранения. Структурные элементы телевизора (приемник) ex300 соединены друг с другом синхронной шиной.
[0230] Прежде всего, будет описана конфигурация, в которой телевизор (приемник) ex300 декодирует мультиплексированные данные, полученные извне через антенну ex204 и другие средства связи, и воспроизводит декодированные данные. В телевизоре (приемнике) ex300, после пользовательской операции с пульта ex220 дистанционного управления и пр., блок ex303 мультиплексирования и демультиплексирования демультиплексирует мультиплексированные данные, демодулированные блоком ex302 модуляции и демодуляции, под управлением блока ex310 управления, включающего в себя ЦП. Кроме того, в телевизоре (приемнике) ex300, блок ex304 обработки аудиосигнала декодирует демультиплексированные аудиоданные, и блок ex305 обработки видеосигнала декодирует демультиплексированные видеоданные, с использованием способа декодирования, описанного в любом из вариантов осуществления. Блок вывода ex309 выводит декодированные видеосигнал и аудиосигнал, соответственно. Когда блок ex309 вывода выдает видеосигнал и аудиосигнал, сигналы можно временно сохранять в буферах ex318 и ex319 и др., чтобы видеосигналы и аудиосигналы воспроизводились синхронно друг с другом. Кроме того, телевизор (приемник) ex300 может считывать мультиплексированные данные не через вещание и пр. но с носителей ex215 и ex216 записи, например, магнитного диска, оптического диска и SD-карты. Теперь опишем конфигурацию, в которой телевизор (приемник) ex300 кодирует аудиосигнал и видеосигнал и выводит данные или записывает данные на носитель записи. В телевизоре (приемнике) ex300, после пользовательской операции с пульта ex220 дистанционного управления и т.п., блок ex304 обработки аудиосигнала кодирует аудиосигнал, и блок ex305 обработки видеосигнала кодирует видеосигнал, под управлением блока ex310 управления с использованием способа кодирования, описанного в любом из вариантов осуществления. Блок ex303 мультиплексирования и демультиплексирования мультиплексирует кодированные видеосигнал и аудиосигнал, и выдает результирующие сигналы. Когда блок ex303 мультиплексирования и демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы можно временно сохранять в буферах ex320 и ex321 и т.п. чтобы сигналы воспроизводились синхронно друг с другом. При этом, буферы ex318, ex319, ex320 и ex321 могут быть множественными, как показано, или по меньшей мере один буфер может совместно использоваться в телевизоре (приемнике) ex300. Кроме того, данные можно сохранять в буфере во избежание перегрузки и недогрузки системы между блоком ex302 модуляции и демодуляции и блоком ex303 мультиплексирования и демультиплексирования, в отличие от проиллюстрированных случаев.
[0231] Кроме того, телевизор (приемник) ex300 может включать в себя структурный элемент для приема AV-ввода от микрофона или камеры, отличный от структурного элемента для получения аудио- и видеоданных из широковещательной передачи или носителя записи, и может кодировать полученные данные. Хотя телевизор (приемник) ex300 может кодировать, мультиплексировать и выводить данные в вышеприведенном описании, он может быть способен только принимать, декодировать и выводить данные, но не кодировать, мультиплексировать и выводить данные.
[0232] Кроме того, когда устройство ex218 чтения и записи считывает или записывает мультиплексированные данные с носителя записи или на него, один из телевизора (приемника) ex300 и устройства ex218 чтения и записи может декодировать или кодировать мультиплексированные данные, и телевизор (приемник) ex300 и устройство ex218 чтения и записи могут совместно использовать декодирование или кодирование.
[0233] В порядке примера, фиг. 20 иллюстрирует структуру блока 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 управления включает в себя, например, микропроцессор, и выполняет обработку, побуждая компьютер выполнять программу для чтения и записи.
[0234] Хотя, согласно описанию, оптическая головка ex401 формирует лазерное пятно, она может осуществлять запись высокой плотности с использованием света в ближней зоне.
[0235] На фиг. 21 показана схема носителя ex215 записи, который представляет собой оптический диск. На поверхности записи носителя ex215 записи, направляющие канавки сформированы в виде спирали, и в информационной дорожке ex230 заранее записана информация адреса, указывающая абсолютную позицию на диске согласно изменению формы направляющих канавок. Информация адреса включает в себя информацию для определения позиций блоков ex231 записи, которые являются единицей для записи данных. Воспроизведение информационной дорожки ex230 и считывание информации адреса в устройстве, которое записывает и воспроизводит данные, может приводить к определению позиций блоков записи. Кроме того, носитель ex215 записи включает в себя область ex233 записи данных, область ex232 внутреннего периметра и область ex234 внешнего периметра. Область ex233 записи данных это область для использования при записи пользовательских данных. Область ex232 внутреннего периметра и область ex234 внешнего периметра, которые располагаются внутри и снаружи области ex233 записи данных, соответственно, предназначены для конкретного использования за исключением записи пользовательских данных. Блок 400 записи и воспроизведения информации считывает и записывает кодированные аудиоданные, кодированные видеоданные или мультиплексированные данные, полученные путем мультиплексирования кодированных аудио- и видеоданных, из и на область ex233 записи данных носителя ex215 записи.
[0236] Хотя в описании, в порядке примера, описан оптический диск, имеющий слой, например, DVD и BD, оптический диск этим не ограничивается, и может представлять собой оптический диск, имеющий многослойную структуру и пригодный к осуществлению записи на части, отличной от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи и воспроизведения, например, записи информации с использованием света цветов с разными длинами волны на одном и том же участке оптического диска и записи информации, имеющей разные слои под различными углами.
[0237] Кроме того, в системе ex200 цифрового вещания, автомобиль ex210, имеющий антенну ex205 может принимать данные от вещательного спутника ex202 и пр. и воспроизводить видео на устройстве отображения, например, автомобильной навигационной системы ex211, установленной в автомобиле ex210. При этом автомобильная навигационная система ex211 может быть сконфигурирована дополнительно включающей в себя GPS-приемник, помимо конфигурации, изображенной на фиг. 63. То же самое справедливо в отношении компьютера ex111, мобильного телефона ex114, и пр.
[0238] Фиг. 22A иллюстрирует мобильный телефон ex114, где используются способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в любом из вариантов осуществления. Мобильный телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; блок ex365 камеры, способный захватывать движущиеся и неподвижные изображения; и блок ex358 отображения, например, жидкокристаллическое устройство отображения для отображения данных, например, декодированного видеосигнала, захваченного блоком ex365 камеры или принятого антенной ex350. Мобильный телефон ex114 дополнительно включает в себя: блок основного корпуса, включающий в себя набор операционных клавиш ex366; блок ex357 вывода аудио, например, громкоговоритель, для вывода аудиосигнала; блок ex356 ввода аудиосигнала, например, микрофон, для ввода аудиосигнала; блок ex367 памяти для хранения захваченного видео и неподвижных изображений, записанного аудиосигнала, кодированных или декодированных данных принятого видео, неподвижных изображений, сообщений электронной почты и пр.; и щелевой блок ex364, который является блоком интерфейса для носителя записи, который сохраняет данные таким же образом, как блок ex367 памяти.
[0239] Далее, пример структуры мобильного телефона ex114 будет описан со ссылкой на фиг. 22B. В мобильном телефоне ex114, главный блок ex360 управления, предназначенный для общего управления каждым блоком основного корпуса, в том числе, блоком ex358 отображения, а также блоком ex366 операционных клавиш, взаимосвязан, через синхронную шину ex370, с блоком ex361 схемы питания, блоком ex362 управления вводом операций, блоком ex355 обработки видеосигнала, блоком ex363 интерфейса камеры, блоком ex359 управления жидкокристаллическим устройством отображения (LCD), блоком ex352 модуляции и демодуляции, блоком ex353 мультиплексирования и демультиплексирования, блоком ex354 обработки аудиосигнала, щелевым блоком ex364 и блоком ex367 памяти.
[0240] При включении клавиши окончания вызова или клавиши питания посредством операции пользователя, блок ex361 схемы питания снабжает соответствующие блоки энергией из блока батарей для активации сотового телефона ex114.
[0241] В мобильном телефоне ex114, блок ex354 обработки аудиосигнала преобразует аудиосигналы, собранные блоком ex356 ввода аудиосигнала в режиме речевого диалога, в цифровые аудиосигналы под управлением главного блока ex360 управления, включающего в себя ЦП, ПЗУ, ОЗУ, и т.п. Затем блок ex352 модуляции и демодуляции осуществляет обработку расширения по спектру на цифровых аудиосигналах, и блок ex351 передачи и приема осуществляет цифро-аналоговое преобразование и преобразование частоты на данных, и передает результирующие данные через антенну ex350. Кроме того, мобильный телефон ex114 усиливает данные, принятые через антенну ex350 в режиме речевого диалога, и осуществляет преобразование частоты и аналого-цифровое преобразование на данных. Затем блок ex352 модуляции и демодуляции осуществляет обратную обработку расширения по спектру на данных, блок ex354 обработки аудиосигнала преобразует данные в аналоговые аудиосигналы, и блок ex357 вывода аудио выводит аудиоданные.
[0242] Кроме того, при передаче электронной почты в режиме передачи данных, текстовые данные электронной почты, введенные с помощью операционных клавиш ex366 и пр. основного корпуса, отправляются на главный блок ex360 управления через блок ex362 управления вводом операций. Главный блок ex360 управления побуждает блок ex352 модуляции и демодуляции осуществлять обработку расширения по спектру на текстовых данных, и блок ex351 передачи и приема осуществляет цифро-аналоговое преобразование и преобразование частоты на результирующих данных и передает данные на базовую станцию ex110 через антенну ex350. При приеме электронной почты, на принятых данных осуществляется обработка, приблизительно обратная обработке для передачи электронной почты, и результирующие данные обеспечиваются на блок ex358 отображения.
[0243] При передаче видео, неподвижных изображений или видео и аудио в режиме передачи данных, блок ex355 обработки видеосигнала осуществляет сжатие и видеосигналы, подающиеся от блока ex365 камеры, с использованием способа кодирования движущихся изображений, показанного в любом из вариантов осуществления (то есть, блок ex355 обработки видеосигнала функционирует как устройство кодирования изображений согласно настоящему изобретению), и передает кодированные видеоданные на блок ex353 мультиплексирования и демультиплексирования. Напротив, когда блок ex365 камеры захватывает видео, неподвижные изображения и пр., блок ex354 обработки аудиосигнала кодирует аудиосигналы, собранные блоком ex356 ввода аудиосигнала, и передает кодированные аудиоданные на блок ex353 мультиплексирования и демультиплексирования.
[0244] Блок ex353 мультиплексирования и демультиплексирования мультиплексирует кодированные видеоданные, подающиеся от блока ex355 обработки видеосигнала, и кодированные аудиоданные, подающиеся от блока ex354 обработки аудиосигнала, с использованием предопределенного способа. Затем блок ex352 модуляции и демодуляции осуществляет обработку расширения по спектру на результирующих мультиплексированных данных. Затем блок ex351 передачи и приема осуществляет цифро-аналоговое преобразование и преобразование частоты на данных, и передает результирующие данные через антенну ex350.
[0245] При приеме данных видеофайла, который привязан к веб-странице и пр. в режиме передачи данных, или при приеме электронной почты с присоединенным видео и/или аудио, для декодирования мультиплексированных данных, принятых через антенну ex350, блок ex353 мультиплексирования и демультиплексирования демультиплексирует мультиплексированные данные на битовый поток видеоданных и битовый поток аудиоданных, и подает на блок ex355 обработки видеосигнала кодированные видеоданные и на блок ex354 обработки аудиосигнала кодированные аудиоданные через синхронную шину ex370. Блок ex355 обработки видеосигнала декодирует видеосигнал с использованием способа декодирования движущихся изображений, соответствующего способу кодирования, представленному в любом из вариантов осуществления (то есть, блок ex355 обработки видеосигнала функционирует как устройство кодирования изображений согласно настоящему изобретению), и затем блок ex358 отображения отображает, например, видео и неподвижные изображения, включенные в видеофайл, привязанный к веб-странице, через блок ex359 управления LCD. Кроме того, блок ex354 обработки аудиосигнала декодирует аудиосигнал, и блок ex357 вывода аудио выводит аудиосигнал.
[0246] Кроме того, аналогично телевизору (приемнику) ex300, терминал, например, мобильный телефон ex114, вероятно имеет три типа реализаций, включающие в себя не только (i) передающий и принимающий терминал, включающий в себя устройство кодирования и устройство декодирования, но и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) принимающий терминал, включающий в себя только устройство декодирования. Хотя, согласно описанию, система ex200 цифрового вещания принимает и передает мультиплексированные данные, полученные путем мультиплексирования аудиоданных на видеоданные, мультиплексированные данные могут представлять собой данные, полученные путем мультиплексирования не только аудиоданных, но и данных символов, связанных с видео, на видеоданные, и могут представлять собой не мультиплексированные данные, а сами видеоданные.
[0247] Таким образом, каждое из вышеописанных устройств и систем способно осуществлять соответствующий один из способов кодирования движущихся изображений и способов декодирования движущихся изображений, описанных в вариантах осуществления, и, таким образом, обеспечивает положительные результаты, описанные в вариантах осуществления.
[0248] Кроме того, настоящее изобретение не ограничивается вариантами осуществления, и возможны различные модификации и ревизии, не выходящие за рамки объема настоящего изобретения.
Вариант осуществления 4
[0249] Видеоданные могут генерироваться путем переключения, при необходимости, между (i) способом кодирования движущихся изображений и/или устройством кодирования движущихся изображений, представленным в любом из вариантов осуществления, и (ii) способом кодирования движущихся изображений и/или устройством кодирования движущихся изображений в соответствии с тем или иным стандартом, например, MPEG-2, MPEG-4 AVC и VC-1.
[0250] При этом, когда множество видеоданных, которое согласуется с разными стандартами, генерируется и затем декодируется, способы декодирования необходимо выбирать в соответствии с разными стандартами. Однако, поскольку невозможно установить, с каким стандартом согласуется каждый элемент из множества видеоданных, которые должны быть декодированы, проблема состоит в невозможности выбрать надлежащий способ декодирования.
[0251] Для решения этой проблемы, мультиплексированные данные, полученные путем мультиплексирования аудиоданных и других данных в видеоданные, имеют структуру, включающую в себя информацию идентификации, указывающую, с каким стандартом согласуются видеоданные. Далее приведено описание конкретной структуры мультиплексированных данных, включающих в себя видеоданные, генерируемые в способе кодирования движущихся изображений и устройством кодирования движущихся изображений, показанными в любом из вариантов осуществления. Мультиплексированные данные представляют собой цифровой поток в формате транспортного потока MPEG-2.
[0252] Фиг. 23 иллюстрирует структуру мультиплексированных данных. Согласно фиг. 23, мультиплексированные данные можно получить путем мультиплексирования по меньшей мере одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео кинофильма, аудиопоток (IG) представляет первичную аудио-часть и вторичную аудио-часть, которая должна быть смешена с первичной аудио-частью кинофильма, и поток презентационной графики представляет субтитры кинофильма. В данном случае, первичное видео представляет собой нормальное видео, которое должно быть отображено на экране, и вторичное видео представляет собой видео, которое должно быть отображено в окне меньшего размера в основном видео. Кроме того, поток интерактивной графики представляет интерактивный экран, который должен быть сгенерирован путем компоновки компонентов GUI на экране. Видеопоток кодируется в способе кодирования движущихся изображений или устройством кодирования движущихся изображений, показанными в любом из вариантов осуществления, или в способе кодирования движущихся изображений или устройством кодирования движущихся изображений в соответствии с любым из общепринятых стандартов, например, MPEG-2, MPEG-4 AVC и VC-1. Аудиопоток кодируется в соответствии со стандартом, например, Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD и линейным PCM.
[0253] Каждый поток, включенный в мультиплексированные данные, идентифицируется посредством PID. Например, 0x1011 выделяется видеопотоку, который должен быть использован для видео кинофильма, 0x1100-0x111F выделяются аудиопотокам, 0x1200-0x121F выделяются потокам презентационной графики, 0x1400-0x141F выделяются потокам интерактивной графики, 0x1B00-0x1B1F выделяются видеопотокам, которые должны быть использованы для вторичного видео кинофильма, и 0x1A00-0x1A1F выделяются аудиопотокам, которые должны быть использованы для вторичного видео, которое должно быть смешено с первичным аудио.
[0254] Фиг. 24 схематически иллюстрирует мультиплексирование данных. Прежде всего, видеопоток ex235, состоящий из кадров видео, и аудиопоток ex238, состоящий из кадров аудио, преобразуются в поток PES ex236 пакетов и поток ex239 PES пакетов, и далее, в пакеты ex237 TS и пакеты ex240 TS, соответственно. Аналогично, данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразуются в поток ex242 PES пакетов и поток ex245 PES пакетов, соответственно, и далее в пакеты ex243 TS и пакеты ex246 TS, соответственно. Эти пакеты TS мультиплексируются в поток для получения мультиплексированных данных ex247.
[0255] Фиг. 25 иллюстрирует более подробно, как видеопоток сохраняется в потоке пакетов PES. Первая полоска на фиг. 25 демонстрирует поток кадров видео в видеопотоке. Вторая полоска демонстрирует поток пакетов PES. Как указано стрелками, обозначенными yy1, yy2, yy3 и yy4 на фиг. 25, видеопоток делится на изображения, а именно, I-изображения, B-изображения и P-изображения, каждое из которых является презентационной единицей видео, и изображения хранятся в полезной нагрузке каждого из пакетов PES. Каждый из пакетов PES имеет заголовок PES, и в заголовке PES хранятся метка времени презентации (PTS), указывающая время отображения изображения, и метка времени декодирования (DTS), указывающая время декодирования изображения.
[0256] Фиг. 26 иллюстрирует формат пакетов 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. Исходные пакеты компонуются, как показано в самой нижней полоске на фиг. 26. Числа, возрастающие от головы мультиплексированных данных, называются номерами исходных пакетов (SPN).
[0257] Каждый из пакетов TS включенный в мультиплексированные данные включает в себя не только потоки аудио, видео, субтитров и пр., но и таблицу ассоциаций программы (PAT), таблицу карты программы (PMT) и временную отметку программы (PCR). PAT показывает, что указывает PID в PMT, используемой в мультиплексированных данных, и PID самой PAT зарегистрирован как нуль. В PMT хранятся PID потоков аудио, видео, субтитров и пр., включенных в мультиплексированные данные, и информация атрибутов потоков, соответствующих PID. PMT также имеет различные дескрипторы, относящиеся к мультиплексированным данным. Дескрипторы имеют информацию, например, информацию контроля копирования, указывающую, разрешено ли копирование мультиплексированных данных. В PCR хранится информация времени STC, соответствующая ATS, указывающая, когда пакет PCR переносится на декодер, для достижения синхронизации между датчиком времени прихода (ATC), который является осью времени ATS, и датчиком системного времени (STC), который является осью времени PTS и DTS.
[0258] Фиг. 27 подробно иллюстрирует структуру данных PMT. Заголовок PMT располагается в верхней части PMT. Заголовок PMT описывает длину и т.д. данных, включенных в PMT. Множество дескрипторов, относящихся к мультиплексированным данным, располагается после заголовка PMT. В дескрипторах описана такая информация, как информация контроля копирования. После дескрипторов располагается множество фрагментов информации потока, относящихся к потокам, включенным в мультиплексированные данные. Каждый фрагмент информации потока включает в себя дескрипторы потока, каждый из которых описывает информацию, например, тип потока для идентификации сжимающего кодека и т.д. потока, PID потока и информацию атрибутов потока (например, частоту кадров, соотношение размеров, и т.п.). Количество дескрипторов потока равно количеству потоков в мультиплексированных данных.
[0259] Когда мультиплексированные данные записываются на носитель записи и т.д., они записывается совместно с информационными файлами мультиплексированных данных.
[0260] Каждый из информационных файлов мультиплексированных данных является информацией управления мультиплексированных данных, как показано на фиг. 28. Информационные файлы мультиплексированных данных находятся во взаимно-однозначном соответствии с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту ввода.
[0261] Согласно фиг. 28, мультиплексированные данные включают в себя системную скорость, время начала воспроизведения и время окончания воспроизведения. Системная скорость указывает максимальную скорость переноса, с которой декодер цели системы, описанный ниже, переносит мультиплексированные данные на фильтр PID. Интервалы ATS, включенных в мультиплексированные данные, устанавливаются не превышающими системную скорость. Время начала воспроизведения указывает PTS в кадре видео в голове мультиплексированных данных. Интервал одного кадра добавляется к PTS в кадре видео в конце мультиплексированных данных, и PTS устанавливается на время окончания воспроизведения.
[0262] Как показано на фиг. 29, фрагмент информации атрибутов регистрируется в информации атрибутов потока, для каждого PID каждого потока, включенного в мультиплексированные данные. Каждый фрагмент информации атрибутов имеет разную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждый фрагмент информации атрибутов видеопотока несет информацию, включающую в себя разновидность сжимающего кодека, используемого для сжатия видеопотока, и разрешение, соотношение размеров и частота кадров фрагментов данных изображения, включенных в видеопоток. Каждый фрагмент информации атрибутов аудиопотока несет информацию, включающую в себя разновидность сжимающего кодека, используемого для сжатия аудиопотока, количество каналов, включенных в аудиопоток, язык, поддерживаемый аудиопотоком, и частоту дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера до воспроизведения информации на проигрывателе.
[0263] В этом варианте осуществления, мультиплексированные данные, которые должны быть использованы среди мультиплексированных данных, представляют собой тип потока, включенный в PMT. Кроме того, когда мультиплексированные данные записываются на носитель записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. В частности, способ кодирования движущихся изображений или устройство кодирования движущихся изображений, описанные в любом из вариантов осуществления, включает в себя этап или блок для выделения уникальной информации, указывающей видеоданные, генерируемые способом кодирования движущихся изображений или устройством кодирования движущихся изображений в любом из вариантов осуществления, типу потока, включенному в PMT или информацию атрибутов видеопотока. Благодаря этой структуре, видеоданные, генерируемые способом кодирования движущихся изображений или устройством кодирования движущихся изображений, описанным в любом из вариантов осуществления, можно отличить от видеоданных, которые согласуются с другим стандартом.
[0264] Кроме того, фиг. 30 иллюстрирует этапы способа декодирования движущихся изображений согласно этому варианту осуществления. На этапе exS100, тип потока, включенный в PMT или информацию атрибутов видеопотока получается из мультиплексированных данных. Затем, на этапе exS101, производится определение, указывает ли тип потока или информация атрибутов видеопотока, что мультиплексированные данные генерируются способом кодирования движущихся изображений или устройством кодирования движущихся изображений в любом из вариантов осуществления. Когда принимается решение, что тип потока или информация атрибутов видеопотока указывает, что мультиплексированные данные генерируются способом кодирования движущихся изображений или устройством кодирования движущихся изображений в любом из вариантов осуществления, на этапе exS102, тип потока или информация атрибутов видеопотока декодируется способом декодирования движущихся изображений в любом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывает согласованность с любым из общепринятых стандартов, например, MPEG-2, MPEG-4 AVC и VC-1, на этапе exS103, тип потока или информация атрибутов видеопотока декодируется способом декодирования движущихся изображений в соответствии с любым из общепринятых стандартов.
[0265] Таким образом, выделение нового уникального значения типу потока или информации атрибутов видеопотока позволяет определить, может ли способ декодирования движущихся изображений или устройство декодирования движущихся изображений, которые описаны в любом из вариантов осуществления, осуществлять декодирование. Даже когда мультиплексированные данные, которые согласуются с другим стандартом, можно выбирать надлежащий способ или устройство декодирования. Таким образом, появляется возможность декодировать информацию без ошибок. Кроме того, способ или устройство кодирования движущихся изображений, или способ или устройство декодирования движущихся изображений в этом варианте осуществления можно использовать в описанных выше устройствах и системах.
Вариант осуществления 5
[0266] Каждый из способа кодирования движущихся изображений, устройства кодирования движущихся изображений, способа декодирования движущихся изображений и устройства декодирования движущихся изображений в любом из вариантов осуществления обычно осуществляется в форме интегральной схемы или большой интегральной схемы (БИС). В порядке примера БИС, фиг. 31 иллюстрирует конфигурацию БИС ex500, которая выполнена на одном кристалле. БИС ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, описанные ниже, и элементы соединены друг с другом через шину ex510. Блок ex505 схемы питания активируется, снабжая энергией каждый из элементов, когда блок ex505 схемы питания включен.
[0267] Например, при осуществлении кодирования, БИС ex500 принимает AV-сигнал от микрофона ex117, камеры ex113, и пр. через I/O AV ex509 под управлением блока ex501 управления, включающего в себя ЦП ex502, контроллер ex503 памяти, контроллер ex504 потоков и блок ex512 управления частотой возбуждения. Принятый AV-сигнал временно хранится во внешней памяти ex511, например SDRAM. Под управлением блока ex501 управления, сохраненные данные сегментируются на фрагменты данных, согласно объему и скорости обработки, которые должны быть переданы на блок ex507 обработки сигнала. Затем блок ex507 обработки сигнала кодирует аудиосигнал и/или видеосигнал. В данном случае, кодирование видеосигнала является кодированием, описанным в любом из вариантов осуществления. Кроме того, блок ex507 обработки сигнала мультиплексирует кодированные аудиоданные и кодированные видеоданные при необходимости, и I/O ex506 потока выводит мультиплексированные данные. Обеспеченные мультиплексированные данные передаются на базовую станцию ex107 или записываются на носители ex215 записи. До мультиплексирования, аудио- и видеоданные предпочтительно временно сохранять в буфере ex508, чтобы аудио- и видеоданные были синхронизированы друг с другом.
[0268] Хотя память ex511 описана как элемент вне БИС ex500, она может входить в состав БИС ex500. Буфер ex508 не ограничивается одним буфером, но может состоять из буферов. Кроме того, БИС ex500 может быть выполнена на едином кристалле или множестве кристаллов.
[0269] Кроме того, хотя блок ex501 управления включает в себя ЦП ex502, контроллер ex503 памяти, контроллер ex504 потоков, блок ex512 управления частотой возбуждения, конфигурация блока ex501 управления этим не ограничивается. Например, блок ex507 обработки сигнала может дополнительно включать в себя ЦП. Включение еще одного ЦП в блок ex507 обработки сигнала позволяет повысить скорость обработки. Кроме того, в порядке другого примера, ЦП ex502 может выступать в качестве или составлять часть блока ex507 обработки сигнала и, например, может включать в себя блок обработки аудиосигнала. В таком случае, блок ex501 управления включает в себя блок ex507 обработки сигнала или ЦП ex502, включающий в себя часть блока ex507 обработки сигнала.
[0270] Здесь употребляется название БИС, но ее также можно называть ИС, системной БИС, сверх-БИС или ультра-БИС в зависимости от степени интеграции.
[0271] Кроме того, подходы к достижению интеграции не ограничиваются БИС, и специальная схема или процессор общего назначения и т.д. также могут обеспечивать интеграцию. В тех же целях можно использовать вентильную матрицу, программируемую пользователем (FPGA), которую можно программировать после изготовления БИС, или реконфигурируемый процессор, который допускает реконфигурирование соединения или конфигурации БИС.
[0272] В будущем, с развитием полупроводниковой технологии, совершенно новая технология может заменить БИС. С использованием такой технологии можно интегрировать функциональные блоки. Одной такой возможностью является применение биотехнологии.
Вариант осуществления 6
[0273] Когда видеоданные декодируются в способе кодирования движущихся изображений или устройством кодирования движущихся изображений, описанным в любом из вариантов осуществления, объем обработки, вероятно, возрастает по сравнению со случаем, когда видеоданные, которые согласуются с любым из общепринятых стандартов, например, MPEG-2, MPEG-4 AVC и VC-1. Таким образом, БИС ex500 необходимо устанавливать на частоту возбуждения, более высокую, чем у ЦП ex502, который должен быть использован при декодировании видеоданных в соответствии с любым из общепринятых стандартов. Однако при установке более высокой частоты возбуждения, возникает проблема роста энергопотребления.
[0274] Для решения этой проблемы, устройство декодирования движущихся изображений, например, телевизор (приемник) ex300, БИС ex500, и т.п. сконфигурирован для определения, с каким стандартом согласуются видеоданные, и переключения между частотами возбуждения согласно определенному стандарту. Фиг. 32 иллюстрирует структуру ex800 в этом варианте осуществления. Блок ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения, когда видеоданные генерируются способом кодирования движущихся изображений или устройством кодирования движущихся изображений, описанным в любом из вариантов осуществления. Затем блок ex803 переключения частоты возбуждения побуждает блок ex801 обработки декодирования, который выполняет способ декодирования движущихся изображений, описанный в любом из вариантов осуществления декодировать видеоданные. Когда видеоданные согласуются с любым из общепринятых стандартов, блок ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем у видеоданных, генерируемых способом кодирования движущихся изображений или устройством кодирования движущихся изображений, описанным в любом из вариантов осуществления. Затем блок ex803 переключения частоты возбуждения предписывает блоку ex802 обработки декодирования, который согласуется с любым из общепринятых стандартов, декодировать видеоданные.
[0275] В частности, блок ex803 переключения частоты возбуждения включает в себя ЦП ex502 и блок ex512 управления частотой возбуждения, показанные на фиг. 31. При этом каждый из блока ex801 обработки декодирования, который выполняет способ декодирования движущихся изображений, описанный в любом из вариантов осуществления, и блока ex802 обработки декодирования, который согласуется с любым из общепринятых стандартов, соответствует блоку ex507 обработки сигнала, показанному на фиг. 31. ЦП ex502 определяет, с каким стандартом согласуются видеоданные. Затем блок ex512 управления частотой возбуждения определяет частоту возбуждения на основании сигнала от ЦП ex502. Кроме того, блок ex507 обработки сигнала декодирует видеоданные, на основании сигнала от ЦП ex502. Например, информация идентификации, описанная согласно варианту осуществления 4, вероятно, используется для идентификации видеоданных. Информация идентификации не ограничивается информацией, описанной согласно варианту осуществления 4 но может представлять собой любую информацию, при условии, что информация указывает, с каким стандартом согласуются видеоданные. Например, когда стандарт, с которым согласуются видеоданные, можно определить на основании внешнего сигнала, для определения, что видеоданные используется для телевизора (приемника) или диска, и т.д., определение можно производить на основании такого внешнего сигнала. Кроме того, ЦП ex502 выбирает частоту возбуждения на основании, например, поисковой таблицы, в которой стандарты видеоданных связаны с частотами возбуждения, как показано на фиг. 34. Частоту возбуждения можно выбирать путем сохранения поисковой таблицы в буфере ex508 и внутренней памяти БИС и с обращением к поисковой таблице со стороны ЦП ex502.
[0276] Фиг. 33 иллюстрирует этапы выполнения способа в этом варианте осуществления. Сначала, на этапе exS200, блок ex507 обработки сигнала получает информацию идентификации из мультиплексированных данных. Затем, на этапе exS201, ЦП ex502 определяет, генерируются ли видеоданные, на основании информации идентификации способом кодирования и устройством кодирования, описанными в любом из вариантов осуществления. Когда видеоданные генерируются способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в любом из вариантов осуществления, на этапе exS202, ЦП ex502 передает сигнал для установления частоты возбуждения на более высокую частоту возбуждения на блок ex512 управления частотой возбуждения. Затем блок ex512 управления частотой возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения. С другой стороны, когда информация идентификации указывает, что видеоданные согласуются с любым из общепринятых стандартов, например, MPEG-2, MPEG-4 AVC и VC-1, на этапе exS203, ЦП ex502 передает сигнал для установления частоты возбуждения на более низкую частоту возбуждения на блок ex512 управления частотой возбуждения. Затем блок ex512 управления частотой возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем в случае, когда видеоданные генерируются способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в любом из вариантов осуществления.
[0277] Кроме того, помимо переключения частот возбуждения, энергосберегающий эффект можно усилить, изменяя напряжение, подаваемое на БИС ex500 или устройство, включающее в себя БИС ex500. Например, при установлении более низкой частоты возбуждения, напряжение, подаваемое на БИС ex500 или устройство, включающее в себя БИС ex500, вероятно устанавливается на напряжение, более низкое, чем в случае установления более высокой частоты возбуждения.
[0278] Кроме того, при увеличении объема обработки для декодирования, можно устанавливать более высокую частоту возбуждения, и при уменьшении объема обработки для декодирования, можно устанавливать более низкую частоту возбуждения согласно способу установления частоты возбуждения. Таким образом, способ установления не ограничивается вышеописанным примером. Например, когда объем обработки для декодирования видеоданных в соответствии с MPEG-3 AVC, больше, чем объем обработки для декодирования видеоданных, генерируемых способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в любом из вариантов осуществления, частота возбуждения, вероятно, будет устанавливаться в порядке, обратном описанному выше.
[0279] Кроме того, способ установления частоты возбуждения не ограничивается способом установления более низкой частоты возбуждения. Например, когда информация идентификации указывает, что видеоданные генерируются способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в любом из вариантов осуществления, напряжение, подаваемое на БИС 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.
[0280] Соответственно, энергосберегающий эффект можно усилить путем переключения между частотами возбуждения в соответствии со стандартом, с которым согласуются видеоданные. Кроме того, когда БИС ex500 или устройство, включающее в себя БИС ex500, возбуждается с использованием батареи, время работы батареи можно продлить, благодаря энергосберегающему эффекту.
Вариант осуществления 7
[0281] В ряде случаев, множество видеоданных, которые согласуются с другим стандартом, поступает на устройства и системы, например, телевизор (приемник) и мобильный телефон. Для обеспечения возможности декодирования множества видеоданных, которые согласуются с разными стандартами, блок ex507 обработки сигнала БИС ex500 должен соответствовать разным стандартам. Однако при индивидуальном использовании блока ex507 обработки сигнала, который согласуется с соответствующими стандартами, возникают проблемы увеличения масштаба схемы БИС ex500 и увеличения стоимости.
[0282] Для решения проблемы была предложена структура для частичного совместного использования блока обработки декодирования для реализации способа декодирования движущихся изображений, описанного в любом из вариантов осуществления, и блока обработки декодирования, который согласуется с любым из общепринятых стандартов, например, MPEG-2, MPEG-4 AVC и VC-1. Пример этой структуры показан как ex900 на фиг. 35A. Например, способ декодирования движущихся изображений, описанный в любом из вариантов осуществления, и способ декодирования движущихся изображений, который согласуется с MPEG-4 AVC, имеет, частично в общем случае, детали процессов, например, энтропийное кодирование, обратное квантование, деблокирующую фильтрацию и прогнозирование с компенсацией движения. Детали процессов, которые должны быть совместно использованы, вероятно, включают в себя использование блока ex902 обработки декодирования, который согласуется с MPEG-4 AVC. Напротив, для других процессов, вероятно, используется специальный блок ex901 обработки декодирования, который уникален для настоящего изобретения и, таким образом, не согласуется с MPEG-4 AVC. В частности, настоящее изобретение отличается использованием энтропийного кодирования. Таким образом, например, блок ex901 обработки декодирования используется для энтропийного кодирования, и совместно используемый блок обработки декодирования можно использовать для любого или всех других процессов, например, обратного квантования, деблокирующей фильтрации и компенсации движения. В отношении такого совместного использования блока обработки декодирования, совместно используемый блок обработки декодирования используется для осуществления совместно используемых процессов в способе декодирования движущихся изображений, описанном в любом из вариантов осуществления, тогда как специальный блок обработки декодирования можно использовать для процессов, специфических для стандарта MPEG-4 AVC.
[0283] Кроме того, ex1000 на фиг. 35B демонстрирует другой пример частичного совместного использования таких процессов. Этот пример использует структуру, включающую в себя специальный блок ex1001 обработки декодирования, который поддерживает процессы, уникальные для настоящего изобретения, специальный блок ex1002 обработки декодирования, который поддерживает процессы, уникальные для другого из общепринятых стандартов, и блок ex1003 обработки декодирования, который поддерживает обработку, которая должна быть совместно использована между способом декодирования движущихся изображений в настоящем изобретении и традиционным способом декодирования движущихся изображений. При этом специальные блоки ex1001 и ex1002 обработки декодирования не обязательно специализированы для обработки настоящего изобретения и обработки по любому из общепринятых стандартов, соответственно, и могут быть блоками, способными осуществлять общую обработку. Кроме того, структура этого варианта осуществления может быть реализована посредством БИС ex500.
[0284] Таким образом, масштаб и стоимость схемы БИС можно уменьшить за счет совместного использования блока обработки декодирования для обработки, совместно используемой между способом декодирования движущихся изображений в настоящем изобретении и способом декодирования движущихся изображений в соответствии с любым из общепринятых стандартов.
[Промышленное применение]
[0285] Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений применимы, например, к устройствам отображения информации и к устройствам захвата изображения, которые поддерживают высокое разрешение. Примеры таких устройств включают в себя телевизионный приемник, устройство цифровой видеозаписи, автомобильную навигационную систему, мобильный телефон, цифровую камеру и цифровую видеокамеру.
Перечень ссылочных позиций
[0286]
10 блок арифметического кодирования
11 блок бинаризации
12 блок хранения вероятностей вхождения символа
13 блок управления контекстом
14 двоичный арифметический кодер
100 блок арифметического кодирования
101 блок бинаризации
102 блок хранения вероятностей вхождения символа
103 блок управления контекстом
104 двоичный арифметический кодер
105 блок управления классификацией контекстных блоков
200 устройство кодирования изображений
205 вычитатель
210 блок преобразования и квантования
220 блок энтропийного кодирования
230 блок обратного квантования и обратного преобразования
235 сумматор
240 деблокирующий фильтр
250 память
260 блок intra-прогнозирования
270 блок оценки движения
280 блок компенсации движения
290 переключатель intra/inter
300 блок арифметического декодирования
301 двоичный арифметический декодер
302 блок хранения вероятностей вхождения символа
303 блок управления контекстом
304 блок многозначного преобразования
305 блок управления классификацией контекстных блоков
400 устройство декодирования изображений
410 блок энтропийного декодирования
420 блок обратного квантования и обратного преобразования
425 сумматор
430 деблокирующий фильтр
440 память
450 блок intra-прогнозирования
460 блок компенсации движения
470 переключатель intra/inter
ex100 система предоставления контента
ex101 интернет
ex102 поставщик услуг интернета
ex103 сервер потоковой передачи
ex104 телефонная сеть
ex106, ex107, ex108, ex109, ex110 базовая станция
ex111 компьютер
ex112 КПК
ex113, ex116 камера
ex114 мобильный телефон (сотовый телефон) с камерой
ex115 игровая машина
ex117 микрофон
ex200 система цифрового вещания
ex201 вещательная станция
ex202 вещательный спутник
ex203 кабель
ex204, ex205, ex601 антенна
ex210 автомобиль
ex211 автомобильная навигационная система
ex212 устройство воспроизведения
ex213, ex219 монитор
ex214, ex215, ex216, ex607 носитель записи
ex217 телевизионная приставка
ex218 считывающее устройство/устройство записи
ex220 пульт дистанционного управления
ex230 информационная дорожка
ex231 блок записи
ex232 область внутреннего периметра
ex233 область записи данных
ex234 область внешнего периметра
ex300 телевизор (приемник)
ex301 блок настройки
ex302 блок модуляции и демодуляции
ex303 блок мультиплексирования и демультиплексирования
ex304 блок обработки аудиосигнала
ex305 блок обработки видеосигнала
ex306, ex507 блок обработки сигнала
ex307 громкоговоритель
ex308, ex602 блок отображения
ex309 блок вывода
ex310, ex501 блок управления
ex311, ex505, ex710 блок схемы питания
ex312 блок ввода операций
ex313 мост
ex314, ex606 щелевой блок
ex315 привод
ex316 модем
ex317 блок интерфейса
ex318, ex319, ex320, ex321, ex404, ex508 буфер
ex400 блок записи и воспроизведения информации
ex401 оптическая головка
ex402 блок модуляционной записи
ex403 блок воспроизведения и демодуляции
ex405 двигатель привода
ex406 блок сервоуправления
ex407 системный блок управления
ex500 БИС
ex502 ЦП
ex503 контроллер памяти
ex504 контроллер потоков
ex506 I/O потока
ex509 I/O AV
ex510 шина
ex603 блок камеры
ex604 операционная клавиша
ex605 блок ввода аудиосигнала
ex608 блок вывода аудиосигнала
ex801 блок обработки декодирования
ex802 блок обработки декодирования
ex803 блок переключения частоты возбуждения