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

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится к способу кодирования изображений для кодирования изображений или способу декодирования изображений для декодирования изображений.
УРОВЕНЬ ТЕХНИКИ
[0002] Подход, раскрытый в непатентной литературе 1, является подходом, связанным со способом кодирования изображений для кодирования изображений (в том числе видео) или способом декодирования изображений для декодирования изображений.
СПИСОК ССЫЛОК
НЕПАТЕНТНАЯ ЛИТЕРАТУРА
[0003] [NPL 1] ISO/IEC 14496-10 “MPEG-4 Part 10 Advanced Video Coding”
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
[0004] Однако, неэффективный способ кодирования изображений или неэффективный способ декодирования изображений может быть использован в некоторых случаях.
[0005] Неограничивающие примерные варианты осуществления, раскрытые в данном документе, обеспечивают способ кодирования изображений для эффективного кодирования изображения и способ декодирования изображений для эффективного декодирования изображения.
РЕШЕНИЕ ПРОБЛЕМЫ
[0006] Способ кодирования изображений согласно аспекту настоящего изобретения представляет собой способ кодирования изображений для кодирования изображения, способ кодирования изображений включает в себя: кодирование (i) информации коэффициентов, указывающей множество коэффициентов одного или более блоков, включенных в изображение, (ii) первого флага, указывающего, квантовать ли один или более блоков с использованием множества матриц квантования, каждая из которых имеет коэффициенты, соответственно соответствующие упомянутому множеству коэффициентов одного или более блоков, (iii) второго флага, указывающего, включено ли упомянутое множество матриц квантования в набор параметров последовательности, и (iv) третьего флага, указывающего, включено ли упомянутое множество матриц квантования в набор параметров картинки; и квантование упомянутого множества коэффициентов, при этом, когда упомянутый один или более блоков квантуются при квантовании с использованием множества матриц по умолчанию в качестве упомянутого множества матриц квантования, при кодировании кодируются следующие: (i) первый флаг, указывающий, что упомянутый один или более блоков квантуются с использованием упомянутого множества матриц квантования, (ii) второй флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров последовательности, и (iii) третий флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров картинки.
[0007] Эти общие и специфические аспекты могут быть реализованы с использованием системы, устройства, интегральной схемы, компьютерной программы или невременного считываемого компьютером носителя записи, такого как CD-ROM, или любой комбинации систем, устройств, интегральных схем, компьютерных программ или носителей записи.
БЛАГОПРИЯТНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
[0008] Способ кодирования изображений и способ декодирования изображений согласно настоящему изобретению позволяют эффективно кодировать и декодировать изображения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0009] Эти и другие задачи, преимущества и признаки изобретения станут очевидны из их нижеследующего описания, рассматриваемого вместе с сопроводительными чертежами, которые иллюстрируют специфический вариант осуществления настоящего изобретения.
[ФИГ. 1] ФИГ. 1 представляет собой схему, показывающую структуру устройства кодирования изображений согласно варианту 1 осуществления.
[ФИГ. 2] ФИГ. 2 представляет собой схему, показывающую поток кодирования от начала до конца согласно варианту 1 осуществления.
[ФИГ. 3] ФИГ. 3 представляет собой схему, показывающую внутреннюю структуру кодера матрицы квантования согласно варианту 1 осуществления.
[ФИГ. 4A] ФИГ. 4А представляет собой схему, показывающую поток кодирования матриц квантования SPS согласно варианту 1 осуществления.
[ФИГ. 4B] ФИГ. 4В представляет собой схему, показывающую поток (следующий за упомянутым потоком) кодирования матриц квантования SPS согласно варианту 1 осуществления.
[ФИГ. 5A] ФИГ. 5А представляет собой схему, показывающую поток кодирования матриц квантования PPS согласно варианту 1 осуществления.
[ФИГ. 5B] ФИГ. 5В представляет собой схему, показывающую поток (следующий за упомянутым потоком) кодирования матриц квантования PPS согласно варианту 1 осуществления.
[ФИГ. 6A] ФИГ. 6А представляет собой схему, показывающую поток кодирования данных матрицы согласно варианту 1 осуществления.
[ФИГ. 6B] ФИГ. 6В представляет собой схему, показывающую поток (следующий за упомянутым потоком) кодирования данных матрицы согласно варианту 1 осуществления.
[ФИГ. 7] ФИГ. 7 представляет собой схему, показывающую поток уникальной операции согласно варианту 1 осуществления.
[ФИГ. 8] ФИГ. 8 представляет собой схему, показывающую структуру устройства декодирования изображений согласно варианту 2 осуществления.
[ФИГ. 9] ФИГ. 9 представляет собой схему, показывающую поток декодирования от начала до конца согласно варианту 2 осуществления.
[ФИГ. 10] ФИГ. 10 представляет собой схему, показывающую внутреннюю структуру декодера матрицы квантования согласно варианту 2 осуществления.
[ФИГ. 11] ФИГ. 11 представляет собой схему, показывающую поток декодирования матриц квантования SPS согласно варианту 2 осуществления.
[ФИГ. 12] ФИГ. 12 представляет собой схему, показывающую поток декодирования матриц квантования PPS согласно варианту 2 осуществления.
[ФИГ. 13] ФИГ. 13 представляет собой схему, показывающую поток декодирования данных матрицы согласно варианту 2 осуществления.
[ФИГ. 14] ФИГ. 14 представляет собой схему, показывающую поток уникальной операции согласно варианту 2 осуществления.
[ФИГ. 15] ФИГ. 15 показывает полную конфигурацию системы обеспечения контента для реализации служб распространения контента.
[ФИГ. 16] ФИГ. 16 показывает полную конфигурацию цифровой системы вещания.
[ФИГ. 17] ФИГ. 17 показывает блок-схему, иллюстрирующую пример конфигурации телевизора.
[ФИГ. 18] ФИГ. 18 показывает блок-схему, иллюстрирующую пример конфигурации узла записи/воспроизведения информации, который считывает и записывает информацию на и с носителя записи, который является оптическим диском.
[ФИГ. 19] ФИГ. 19 показывает пример конфигурации носителя записи, который является оптическим диском.
[ФИГ. 20A] ФИГ. 20А показывает пример сотового телефона.
[ФИГ. 20B] ФИГ. 20В представляет собой блок-схему, показывающую пример конфигурации сотового телефона.
[ФИГ. 21] ФИГ. 21 иллюстрирует структуру мультиплексированных данных.
[ФИГ. 22] ФИГ. 22 схематично показывает, как каждый поток мультиплексируется в мультиплексированных данных.
[ФИГ. 23] ФИГ. 23 показывает, как видеопоток сохраняется в потоке пакетов PES более подробно.
[ФИГ. 24] ФИГ. 24 показывает структуру пакетов TS и исходных пакетов в мультиплексированных данных.
[ФИГ. 25] ФИГ. 25 показывает структуру данных PMT.
[ФИГ. 26] ФИГ. 26 показывает внутреннюю структуру информации мультиплексированных данных.
[ФИГ. 27] ФИГ. 27 показывает внутреннюю структуру информации атрибутов потока.
[ФИГ. 28] ФИГ. 28 показывает этапы для идентификации видеоданных.
[ФИГ. 29] ФИГ. 29 показывает пример конфигурации интегральной схемы для реализации способа кодирования движущихся картинок и способа декодирования движущихся картинок согласно каждому из вариантов осуществления.
[ФИГ. 30] ФИГ. 30 показывает конфигурацию для переключения между частотами возбуждения.
[ФИГ. 31] ФИГ. 31 показывает этапы для идентификации видеоданных и переключения между частотами возбуждения.
[ФИГ. 32] ФИГ. 32 показывает пример справочной таблицы, в которой стандарты видеоданных ассоциированы с частотами возбуждения.
[ФИГ. 33A] ФИГ. 33А представляет собой схему, показывающую пример конфигурации для совместного использования модуля узла обработки сигналов.
[ФИГ. 33B] ФИГ. 33В представляет собой схему, показывающую другой пример конфигурации для совместного использования модуля узла обработки сигналов.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0010] (ОСНОВНЫЕ СВЕДЕНИЯ, ФОРМИРУЮЩИЕ ОСНОВУ НАСТОЯЩЕГО РАСКРЫТИЯ)
Авторы изобретения обнаружили проблемы устройства кодирования изображений, которое кодирует изображения, и устройства декодирования изображений, которое декодирует изображения, описанные в разделе «Уровень техники». Эти проблемы подробно описаны ниже по тексту.
[0011] В последние годы значительное техническое продвижение в цифровых видеоустройствах увеличило случаи кодирования со сжатием видеосигналов (множества картинок, упорядоченных в порядке во времени), вводимых с видеокамер или телевизионных тюнеров, и записи их на носители записи, такие как DVD, жесткие диски или подобное.
[0012] Кодирование видеосигнала включает в себя этап предсказания изображения, этап вычисления разности между изображением предсказания и целевым изображением кодирования, этап преобразования разностного изображения в коэффициенты частоты, этап квантования коэффициентов частоты, и этап кодирования с переменной длиной слова квантованных коэффициентов, информации о предсказании и подобного.
[0013] Квантование может вовлекать использование матриц квантования. Здесь, увеличенная эффективность кодирования получается посредством выполнения грубого квантования над коэффициентами высокой частоты, которые не являются визуально заметными, если уменьшается качество изображения, и выполнения точного квантования над коэффициентами низкой частоты, которые являются визуально заметными, если уменьшается качество изображения. В дополнение, квантование дополнительно вовлекает использование нескольких видов матриц квантования для (i) размеров преобразования частоты 4×4, 8×8 или подобного, (ii) режимов предсказания, таких как режимы внутрикадрового предсказания и режимы межкадрового предсказания, и (iii) составляющих пикселя, таких как составляющие яркости и составляющие цветности. Следует отметить, что квантование означает преобразование в цифровую форму значений, дискретизированных с предопределенными интервалами, в ассоциации с предопределенными уровнями. В этой области техники выражения, такие как усечение, округление и масштабирование могут быть использованы для обозначения квантования.
[0014] Примеры способов, использующих матрицы квантования, включают в себя способ, использующий матрицы квантования, непосредственно установленные посредством устройства кодирования изображений и способ, использующий матрицы квантования по умолчанию (матрицы по умолчанию). Устройство кодирования изображений способно устанавливать матрицы квантования, подходящие для особенностей изображения, посредством их непосредственной установки. Однако, в этом случае устройство кодирования изображений имеет недостаток неизбежного увеличения объема кодов, требуемых для кодирования матриц квантования.
[0015] С другой стороны, имеется способ для квантования высокочастотных составляющих и низкочастотных составляющих аналогичным образом без использования таких матриц квантования. Следует отметить, что этот способ идентичен способу, использующему матрицы квантования (плоские матрицы), в которых все составляющие имеют одно и то же значение.
[0016] В стандарте кодирования видео, называемом H.264/AVC или MPEG-4 AVC (см. непатентную литературу 1), матрицы квантования точно определяются с использованием набора параметров последовательности (SPS) или набора параметров картинки (PPS). SPS включает в себя параметр, который используется для последовательности, и PPS включает в себя параметр, который используется для картинки. SPS и PPS могут просто упоминаться как наборы параметров.
[0017] Матрицы квантования устанавливаются с использованием MatrixPresentFlag и ListPresentFlag в каждом из SPS и PPS. Когда MatrixPresentFlag в SPS указывает 0, никакая матрица квантования не используется, и высокочастотные составляющие и низкочастотные составляющие квантуются аналогичным образом. С другой стороны, когда MatrixPresentFlag в SPS указывает 1, матрицы квантования для целевой последовательности устанавливаются с использованием ListPresentFlag.
[0018] Матрицы квантования подготавливаются согласно размерам преобразования частоты, режимам предсказания и составляющим пикселя. Каждой из матриц квантования назначается ListPresentFlag, указывающий, использовать ли матрицы квантования по умолчанию. Когда матрицы квантования по умолчанию не используются, матрицы квантования, которые должны быть использованы, кодируются с использованием другого синтаксиса.
[0019] В дополнение, когда MatrixPresentFlag PPS указывает 0, используется информация матриц квантования, которые были установлены с использованием SPS. Когда MatrixPresentFlag PPS указывает 1, матрицы квантования для целевой картинки устанавливаются с использованием ListPresentFlag. ListPresentFlag каждой PPS указывает, использовать ли матрицы квантования по умолчанию, таким же образом как ListPresentFlag соответствующего SPS.
[0020] Здесь, например, когда используются только матрицы квантования по умолчанию, MatrixPresentFlag по меньшей мере одного из SPS и PPS устанавливается в 1. В дополнение, ListPresentFlag, соответствующий матрицам квантования, устанавливается в 0 и кодируется. Другими словами, некоторый объем кодов требуется для кодирования флагов даже, когда объем кодов, требуемых для кодирования матриц квантования, сокращается с использованием матриц квантования по умолчанию. Соответственно, сложно увеличивать эффективность кодирования.
[0021] Ввиду этого, способ кодирования изображений согласно аспекту настоящего изобретения представляет собой способ кодирования изображений для кодирования изображения, способ кодирования изображений включает в себя: кодирование (i) информации коэффициентов, указывающей множество коэффициентов одного или более блоков, включенных в изображение, (ii) первого флага, указывающего, квантовать ли упомянутый один или более блоков с использованием множества матриц квантования, каждая из которых имеет коэффициенты, соответственно соответствующие упомянутому множеству коэффициентов упомянутого одного или более блоков, (iii) второго флага, указывающего, включено ли упомянутое множество матриц квантования в набор параметров последовательности, и (iv) третьего флага, указывающего, включено ли упомянутое множество матриц квантования в набор параметров картинки; и квантование упомянутого множества коэффициентов, при этом, когда упомянутый один или более блоков квантуются при квантовании с использованием множества матриц по умолчанию в качестве упомянутого множества матриц квантования, при кодировании кодируются следующие: (i) первый флаг, указывающий, что упомянутый один или более блоков квантуются с использованием упомянутого множества матриц квантования, (ii) второй флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров последовательности, и (iii) третий флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров картинки.
[0022] Таким образом, эти три флага управляют использованием или неиспользованием упомянутого множества матриц по умолчанию. Соответственно, можно увеличивать эффективность кодирования. В дополнение, использование матриц по умолчанию демонстрируется тем фактом, что набор параметров последовательности и набор параметров картинки не включают в себя любую матрицу квантования. Соответственно, увеличивается устойчивость к ошибкам.
[0023] Например, когда упомянутый один или более блоков могут быть квантованы при квантовании с использованием множества плоских матриц, каждая из которых имеет одинаковые коэффициенты, вместо упомянутого множества матриц квантования, первый флаг, указывающий, что упомянутое множество матриц квантования не квантуется, кодируется при кодировании.
[0024] Таким образом, можно использовать, для процессов квантования, плоские матрицы, каждая из которых имеет одинаковые коэффициенты.
[0025] В дополнение, например, когда упомянутый один или более блоков квантуются при квантовании с использованием упомянутого множества матриц квантования, при кодировании: следующие могут быть кодированы: (i) первый флаг, указывающий, что упомянутый один или более блоков квантуются с использованием множества матриц квантования, и (ii) второй флаг, указывающий, что упомянутое множество матриц квантования включено в набор параметров последовательности или третий флаг, указывающий, что упомянутое множество матриц квантования включено в набор параметров картинки; упомянутое множество матриц квантования может быть включено в набор параметров последовательности, когда кодируется второй флаг, указывающий, что упомянутое множество матриц квантования включено в набор параметров последовательности; и упомянутое множество матриц квантования может быть включено в набор параметров картинки, когда кодируется третий флаг, указывающий, что упомянутое множество матриц квантования включено в набор параметров картинки.
[0026] Таким образом, устройство кодирования изображений и устройство декодирования изображений могут использовать одинаковые матрицы квантования, когда не используются матрицы по умолчанию.
[0027] В дополнение, например, при кодировании: когда упомянутое множество матриц квантования, включенное в набор параметров, который является одним из набора параметров последовательности и набора параметров картинки, включает в себя первую матрицу квантования и вторую матрицу квантования, и упомянутая первая матрица квантования равна упомянутой второй матрице квантования, идентификатор, указывающий упомянутую вторую матрицу квантования может быть включен в набор параметров в качестве идентификатора матрицы копии, указывающего матрицу, копия которой используется в качестве упомянутой первой матрицы квантования; и когда упомянутое множество матриц квантования, включенное в набор параметров, включает в себя упомянутую первую матрицу квантования, и упомянутая первая матрица квантования равна одной из матриц по умолчанию, идентификатор, указывающий матрицу по умолчанию, может быть включен в качестве идентификатора матрицы копии в набор параметров.
[0028] Таким образом, можно использовать матрицы по умолчанию адаптивно при использовании упомянутого множества матриц квантования, включенного в наборы параметров. В дополнение, можно увеличивать эффективность кодирования.
[0029] В дополнение, например, способ кодирования изображений может включать в себя: установку множества матриц квантования последовательности для последовательности, включающей в себя картинку; и установку множества матриц квантования картинки для картинки, при этом при кодировании: может быть кодирован упомянутый первый флаг, который указывает, что упомянутый один или более блоков квантуются с использованием упомянутого множества матриц квантования, когда упомянутый один или более блоков картинки квантуются с использованием, в качестве упомянутого множества матриц квантования, упомянутого множества матриц квантования картинки, которое было установлено для картинки; может быть кодирован упомянутый второй флаг, который указывает, что упомянутое множество матриц квантования не включено в набор параметров последовательности, когда упомянутое множество матриц по умолчанию было установлено для последовательности в качестве упомянутого множества матриц квантования последовательности; и может быть кодирован упомянутый третий флаг, который указывает, что упомянутое множество матриц квантования не включено в набор параметров картинки, когда упомянутое множество матриц квантования последовательности, которое было установлено для последовательности, устанавливается для картинки в качестве упомянутого множества матриц квантования картинки.
[0030] Таким образом, можно использовать матрицы по умолчанию в качестве матриц квантования последовательности, и использовать матрицы квантования последовательности в качестве матриц квантования картинки.
[0031] В дополнение, например, когда блок, не подверженный преобразованию, квантуется с использованием плоской матрицы, имеющей одинаковые коэффициенты, и блок, подверженный преобразованию, квантуется с использованием одной из матриц по умолчанию, следующие могут быть кодированы при кодировании: (i) упомянутый первый флаг, указывающий, что упомянутый один или более блоков квантуются с использованием упомянутого множества матриц квантования; (ii) упомянутый второй флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров последовательности; и (iii) упомянутый третий флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров картинки.
[0032] Таким образом, плоские матрицы используются вместо матриц по умолчанию для блока, не подверженного преобразованию, даже при использовании матриц по умолчанию. Соответственно, процессы квантования выполняются надлежащим образом.
[0033] Кроме того, способ декодирования изображений согласно аспекту настоящего изобретения представляет собой способ декодирования изображений для декодирования кодированного битового потока для декодирования изображения, причем способ декодирования изображений может включать в себя: декодирование, из кодированного битового потока, (i) информации коэффициентов, указывающей множество коэффициентов одного или более блоков, включенных в изображение, (ii) первого флага, указывающего, осуществлять ли обратное квантование упомянутого одного или более блоков с использованием множества матриц квантования, каждая из которых имеет коэффициенты, соответственно соответствующие упомянутому множеству коэффициентов упомянутого одного или более блоков, (iii) второго флага, указывающего, включено ли упомянутое множество матриц квантования в набор параметров последовательности, и (iv) третьего флага, указывающего, включено ли упомянутое множество матриц квантования в набор параметров картинки; и обратное квантование информации коэффициентов, при этом, когда следующие могут быть декодированы: (i) первый флаг, указывающий, что упомянутый один или более блоков обратно квантуются с использованием упомянутого множества матриц квантования, (ii) второй флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров последовательности, и (iii) третий флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров картинки, информация коэффициентов может быть обратно квантована при обратном квантовании с использованием упомянутого множества матриц по умолчанию в качестве упомянутого множества матриц квантования.
[0034] Таким образом, эти три флага управляют использованием или неиспользованием упомянутого множества матриц по умолчанию. Соответственно, можно увеличивать эффективность кодирования. В дополнение, использование матриц по умолчанию демонстрируется тем фактом, что набор параметров последовательности и набор параметров картинки не включают в себя любую матрицу квантования. Соответственно, увеличивается устойчивость к ошибкам.
[0035] В дополнение, например, когда декодируется упомянутый первый флаг, который указывает, что обратное квантование упомянутого одного или более блоков не осуществляется с использованием упомянутого множества матриц квантования, информация коэффициентов может быть обратно квантована при обратном квантовании с использованием упомянутого множества плоских матриц, каждая из которых имеет одинаковые коэффициенты, вместо упомянутого множества матриц квантования.
[0036] Таким образом, можно использовать, для процессов обратного квантования, плоские матрицы, каждая из которых имеет одинаковые коэффициенты.
[0037] В дополнение, например, при обратном квантовании: информация коэффициентов может быть обратно квантована с использованием упомянутого множества матриц квантования, включенного в набор параметров последовательности, когда декодируются следующие: упомянутый первый флаг, указывающий, что упомянутый один или более блоков обратно квантуются с использованием упомянутого множества матриц квантования и упомянутый второй флаг, указывающий, что упомянутое множество матриц квантования включено в набор параметров последовательности; и информация коэффициентов может быть обратно квантована с использованием упомянутого множества матриц квантования, включенного в набор параметров картинки, когда декодируются следующие: упомянутый первый флаг, указывающий, что упомянутый один или более блоков обратно квантуются с использованием упомянутого множества матриц квантования и упомянутый третий флаг, указывающий, что упомянутое множество матриц квантования включено в набор параметров картинки.
[0038] Таким образом, устройство кодирования изображений и устройство декодирования изображений могут использовать одинаковые матрицы квантования, когда не используются матрицы по умолчанию.
[0039] В дополнение, например, когда набор параметров, который является одним из набора параметров последовательности и набора параметров картинки, включает в себя упомянутое множество матриц квантования, включающее в себя первую матрицу квантования и вторую матрицу квантования, и набор параметров включает в себя идентификатор, указывающий упомянутую вторую матрицу квантования, в качестве идентификатора матрицы копии, указывающего матрицу, копия которой используется в качестве упомянутой первой матрицы квантования, информация коэффициентов может быть обратно квантована при обратном квантовании с использованием упомянутого множества матриц квантования, включающего в себя упомянутую первую матрицу квантования, в качестве которой используется копия упомянутой второй матрицы квантования; и когда набор параметров включает в себя упомянутое множество матриц квантования, включающее в себя упомянутую первую матрицу квантования, и набор параметров включает в себя идентификатор, указывающий одну из матриц по умолчанию, в качестве идентификатора матрицы копии, информация коэффициентов может быть обратно квантована при обратном квантовании с использованием упомянутого множества матриц квантования, включающего в себя упомянутую первую матрицу квантования, в качестве которой используется копия матрицы по умолчанию.
[0040] Таким образом, можно использовать матрицы по умолчанию адаптивно при использовании упомянутого множества матриц квантования, включенного в наборы параметров. В дополнение, можно увеличивать эффективность кодирования.
[0041] В дополнение, например, способ декодирования изображений может дополнительно включать в себя: установку множества матриц квантования последовательности для последовательности, включающей в себя картинку; и установку множества матриц квантования картинки для картинки, при этом информация коэффициентов картинки может быть обратно квантована при обратном квантовании с использованием, в качестве упомянутого множества матриц квантования, упомянутого множества матриц квантования картинки, которое было установлено для картинки, когда декодируется упомянутый первый флаг, который указывает, что упомянутый один или более блоков обратно квантуются с использованием упомянутого множества матриц квантования, и при установке: упомянутое множество матриц по умолчанию для последовательности может быть установлено в качестве упомянутого множества матриц квантования последовательности, когда декодируется упомянутый второй флаг, который указывает, что упомянутое множество матриц квантования не включено в набор параметров последовательности; и упомянутое множество матриц квантования последовательности, которое было установлено для последовательности, может быть установлено для картинки в качестве упомянутого множества матриц квантования картинки, когда декодируется упомянутый третий флаг, который указывает, что упомянутое множество матриц квантования не включено в набор параметров картинки.
[0042] Таким образом, можно использовать матрицы по умолчанию в качестве матриц квантования последовательности, и использовать матрицы квантования последовательности в качестве матриц квантования картинки.
[0043] В дополнение, например, когда декодируются следующие: (i) упомянутый первый флаг, указывающий, что упомянутый один или более блоков обратно квантуются с использованием упомянутого множества матриц квантования; (ii) упомянутый второй флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров последовательности; и (iii) упомянутый третий флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров картинки, информация коэффициентов блока, не подверженного преобразованию, может быть обратно квантована при обратном квантовании с использованием плоской матрицы, имеющей одинаковые коэффициенты, и информация коэффициентов блока, подверженного преобразованию, может быть обратно квантована при обратном квантовании с использованием одной из матриц по умолчанию.
[0044] Таким образом, плоские матрицы используются вместо матриц по умолчанию для блока, не подверженного преобразованию, даже при использовании матриц по умолчанию. Соответственно, процессы квантования выполняются надлежащим образом.
[0045] Кроме того, эти общие и специфические аспекты могут быть реализованы с использованием системы, устройства, интегральной схемы, компьютерной программы или невременного считываемого компьютером носителя записи, такого как CD-ROM, или любой комбинации систем, устройств, интегральных схем, компьютерных программ или носителей записи.
[0046] В дальнейшем в этом документе, некоторые примерные варианты осуществления подробно описываются со ссылкой на чертежи. Каждый из примерных вариантов осуществления, описанных ниже по тексту, показывает общий или специфический пример. Числовые значения, формы, материалы, структурные элементы, компоновка и соединение структурных элементов, этапы, порядок обработки этапов и так далее, показанное в следующих примерных вариантах осуществления, являются всего лишь примерами и поэтому не ограничивают объем формулы изобретения. Поэтому, среди структурных элементов в следующих примерных вариантах осуществления, структурные элементы, не изложенные в любом из независимых пунктов формулы изобретения, определяющих наиболее обобщенное понятие, описываются как произвольные структурные элементы.
[0047] Следует отметить, что "кодирование" (coding) используется для того, чтобы означать "кодирование" (encoding) в описаниях ниже по тексту.
[0048] [ВАРИАНТ 1 ОСУЩЕСТВЛЕНИЯ]
[Общая структура] ФИГ. 1 показывает структуру устройства кодирования изображений в этом варианте осуществления. Как показано на ФИГ. 1, устройство кодирования изображений в этом варианте осуществления включает в себя узел 101 установки матрицы квантования, кодер 102 матрицы квантования, узел 103 сегментирования на блоки, вычитатель 104, узел 105 преобразования, узел 106 квантования, кодер 107 коэффициентов, сумматор 108, узел 109 обратного преобразования, узел 110 обратного квантования, узел 111 предсказания и память 112 кадров.
[0049] [ОПЕРАЦИИ (ОТ НАЧАЛА ДО КОНЦА)]
Далее поток кодирования от начала до конца описывается со ссылкой на ФИГ. 2. Сначала, узел 101 установки матрицы квантования устанавливает матрицы квантования SPS (матрицы квантования последовательности), которые являются матрицами квантования, которые должны быть использованы для целевой последовательности (S101).
[0050] Матрицы квантования SPS устанавливаются, например, согласно вводам извне, особенностям изображения или флагам разрешения пропуска преобразования (TransformSkipEnableFlag). TransformSkipEnableFlag указывает флаг, указывающий, позволить ли пропуск процесса для преобразования данных изображения в частотные составляющие. Пропуск процесса преобразования может увеличивать эффективность кодирования. TransformSkipEnableFlag показывает, что пропуск процесса преобразования запрещен, когда флаг указывает 0, и, что пропуск процесса преобразования позволен, когда флаг указывает 1.
[0051] Далее, кодер 102 матрицы квантования кодирует матрицы квантования SPS (S102). Подробности описываются ниже по тексту. Следует отметить, что последующие процессы (с S103 по S115) для картинки выполняются для каждой из картинок в последовательности. Соответственно, последующие процессы повторяются многократно в соответствии с числом картинок в последовательности.
[0052] Далее, узел 101 установки матрицы квантования устанавливает матрицы квантования PPS, которые являются матрицами квантования, которые должны быть использованы для целевой картинки (S103). Матрицы квантования PPS устанавливаются, например, согласно вводам извне, особенностям изображения, флагам разрешения пропуска преобразования. Далее, кодер 102 матрицы квантования кодирует матрицы квантования PPS (S104). Подробности описываются ниже по тексту.
[0053] Далее, узел 103 сегментирования на блоки сегментирует входную картинку на блоки (единицы кодирования), и последовательно выводит блоки на вычитатель 104 и узел 111 предсказания (S105). Блоки имеют переменные размеры. Узел 103 сегментирования на блоки сегментирует изображение с использованием особенностей изображения. Минимальным размером блока является 8×8 в горизонтальном и вертикальном направлениях, и максимальным размером блока является 64×64 в горизонтальном и вертикальном направлениях.
[0054] Следует отметить, что последующие процессы (с S106 по S114) для блока выполняются для каждого из блоков в картинке. Соответственно, последующие процессы повторяются многократно в соответствии с числом блоков в картинке.
[0055] Далее, узел 111 предсказания генерирует блок предсказания из блока и декодированного изображения, сохраненного в памяти 112 кадров (S106). Вычитатель 104 генерирует разностный блок из входного изображения и блока предсказания (S107).
[0056] Далее, узел 105 преобразования преобразует разностный блок в коэффициенты частоты (S108). В это время, вводится флаг разрешения пропуска преобразования. Когда флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволен), узел 105 преобразования переключается между исполнением или неисполнением процесса преобразования согласно особенностям (размеру и так далее) разностного блока. При неисполнении любого процесса преобразования, узел 105 преобразования выводит разностный блок как есть узлу 106 квантования. При исполнении процесса преобразования, узел 105 преобразования выполняет процесс преобразования частоты над разностным блоком и выводит результирующие коэффициенты частоты узлу 106 квантования.
[0057] С другой стороны, когда флаг разрешения пропуска преобразования указывает 0 (что указывает, что пропуск процесса преобразования запрещен), узел 105 преобразования выполняет процесс преобразования частоты над разностным блоком вне зависимости от какой-либо особенности разностного блока, и выводит результирующие коэффициенты частоты узлу 106 квантования.
[0058] Следует отметить, что процесс преобразования пропускается только, когда размер преобразования составляет 4×4. Когда размер преобразования не составляет 4×4, процесс преобразования выполняется вне зависимости от какого-либо флага разрешения пропуска преобразования. Размер преобразования является переменным размером 4×4 или более и может быть меньше, чем размер блока (единицы кодирования).
[0059] Далее, узел 106 квантования квантует выходные данные из узла 105 преобразования (S109). В это время, выходные данные квантуются с использованием матриц квантования PPS, которые были установлены на этапе S103. Выходные данные из узла 105 преобразования могут представлять собой разностный блок, как есть, или коэффициенты частоты, зависящие от флага разрешения пропуска преобразования и особенностей разностного блока. Далее, кодер 107 коэффициентов кодирует квантованные коэффициенты (S110). Кодирование, используемое в данном документе, является кодированием с переменной длиной слова, таким как арифметическое кодирование.
[0060] Далее узел 110 обратного квантования обратно квантует квантованные коэффициенты для восстановления коэффициентов частоты или разностного блока (S111). В это время узел 110 обратного квантования обратно квантует квантованные коэффициенты с использованием матриц квантования PPS, которые были установлены на этапе S103. Обратное квантование является процессом для получения обратно сигнала из квантованного сигнала, и более конкретно, является процессом для получения обратно высокоточных данных из данных, точность которых была уменьшена в процессе квантования. По этой причине обратное квантование может упоминаться как масштабирование, как в случае квантования.
[0061] Далее узел 109 обратного преобразования преобразует коэффициенты частоты в пиксельные данные для восстановления разностного блока (S112). В это время узел 105 преобразования вводит информацию, указывающую, пропускается ли процесс преобразования частоты для целевого блока, узлу 109 обратного преобразования. Когда процесс преобразования частоты был пропущен, также пропускается процесс обратного преобразования.
[0062] В этой области техники, в общем, процесс обратного квантования и процесс обратного преобразования выполняются в одно и то же время для того, чтобы сократить операции умножения.
[0063] Далее сумматор 108 суммирует восстановленный разностный блок и блок предсказания для генерирования декодированного блока, и сохраняет декодированный блок в памяти 112 кадров (S113). В дальнейшем в этом документе подробно описывается кодер 102 матрицы квантования. Кодер 102 матрицы квантования кодирует матрицы квантования SPS и матрицы квантования PPS.
[0064] [СТРУКТУРА КОДЕРА МАТРИЦЫ КВАНТОВАНИЯ]
ФИГ. 3 показывает внутреннюю структуру кодера 102 матрицы квантования, показанного на ФИГ. 1. Как показано на ФИГ. 3, кодер 102 матрицы квантования включает в себя узел 201 установки QMatrixFlag, кодер 202 QMatrixFlag, узел 203 установки SPS_QMatrix_PresentFlag, кодер 204 SPS_QMatrix_PresentFlag, узел 205 установки PPS_QMatrix_PresentFlag, кодер 206 PPS_QMatrix_PresentFlag и кодер 220 данных матрицы.
[0065] Кодер 220 данных матрицы включает в себя узел 207 установки CopyMatrixFlag, кодер 208 CopyMatrixFlag, узел 209 установки CopyMatrixID, кодер 210 CopyMatrixID и кодер 211 коэффициентов матрицы.
[0066] [ОПЕРАЦИИ (КОДИРОВАНИЕ МАТРИЦ КВАНТОВАНИЯ SPS)]
Далее поток кодирования матриц квантования SPS описывается со ссылкой на каждую из ФИГ. 4А и ФИГ. 4В. Сначала, когда используются матрицы квантования (Да на этапе S201), узел 201 установки QMatrixFlag устанавливает QMatrixFlag в 1 (S203). Когда никакая матрица квантования не используется (Нет на этапе S201), узел 201 установки QMatrixFlag устанавливает QMatrixFlag в 0 (S202).
[0067] QMatrixFlag (флаг матрицы квантования) является флагом, указывающим, использовать ли матрицы квантования. Более конкретно, QMatrixFlag является флагом, указывающим, использовать ли упомянутое множество матриц квантования, каждая из которых имеет коэффициенты отличные для различных частот, либо в процессе квантования, либо процессе обратного квантования. QMatrixFlag показывает, что матрицы квантования используются, когда флаг указывает 1, и показывает, что никакая матрица квантования не используется, когда флаг указывает 0.
[0068] Далее, когда используются матрицы квантования (Да на этапе S201), узел 203 установки SPS_QMatrix_PresentFlag устанавливает SPS_QMatrix_PresentFlag согласно флагу разрешения пропуска преобразования и матрицам квантования SPS (с S204 по S210).
[0069] SPS_QMatrix_PresentFlag (флаг наличия матрицы квантования SPS) является флагом, указывающим, кодировать ли матрицы квантования SPS. Другими словами, SPS_QMatrix_PresentFlag показывает, включает ли SPS в себя матрицы квантования, которые должны быть использованы в процессе квантования или процессе обратного квантования. SPS_QMatrix_PresentFlag показывает, что матрицы квантования SPS кодируются, когда флаг указывает 1, и показывает, что никакая матрица квантования SPS не кодируется, когда флаг показывает 0.
[0070] В потоке кодирования на ФИГ. 4А, когда флаг разрешения пропуска преобразования указывает 0 (что указывает, что пропуск процесса преобразования запрещен) (Нет на этапе S204), определение делается относительно того, являются ли все матрицы квантования SPS такими же, как матрицы по умолчанию (S205).
[0071] Следует отметить, что матрицы квантования SPS, подготовленные в данном документе, меняются по своему виду согласно размерам преобразования частоты 4×4, 8×8 или подобному, режимам предсказания, таким как режимы внутрикадрового предсказания и режимы межкадрового предсказания, и составляющим пикселя, таким как составляющие яркости и составляющие цветности. В дополнение, матрицы по умолчанию, подготовленные в данном документе, меняются по своему виду, как в случае матриц квантования SPS. Матрицы по умолчанию являются предопределенными матрицами квантования, и, по существу, не включаются в любой из SPS и PPS.
[0072] Когда все матрицы квантования SPS являются такими же, как матрицы по умолчанию (Да на этапе S205), SPS_QMatrix_PresentFlag устанавливается в 0 (что указывает, что SPS не включает в себя какую-либо матрицу квантования SPS) (S206). Когда одна или более матриц квантования SPS не являются такими же, как матрицы по умолчанию (Нет на этапе S205), SPS_QMatrix_PresentFlag устанавливается в 1 (что указывает, что SPS включает в себя матрицы квантования) (S207).
[0073] В дополнение, когда флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволен), определение делается относительно того, равны ли 16 все коэффициенты матрицы квантования SPS 4×4, и являются ли матрицы квантования SPS, отличные от матрицы квантования SPS 4×4, такими же как матрицы по умолчанию, отличные от матрицы квантования по умолчанию 4×4 (S208).
[0074] Когда результат определения является истиной (Да на этапе S208), SPS_QMatrix_PresentFlag устанавливается в 0 (что указывает, что SPS не включает в себя какую-либо матрицу квантования SPS) (S209). Когда результат определения является ложью (Нет на этапе S208), SPS_QMatrix_PresentFlag устанавливается в 1 (что указывает, что SPS включает в себя матрицы квантования) (S210).
[0075] Далее кодер 202 QMatrixFlag, кодер 204 SPS_QMatrix_PresentFlag и кодер 220 данных матрицы кодируют соответственно QMatrixFlag, SPS_QMatrix_PresentFlag и данные матрицы у матрицы квантования SPS, и выводят кодированный битовый поток (с S211 по S215).
[0076] Более конкретно, кодер 202 QMatrixFlag кодирует QMatrixFlag (S211). Когда QMatrixFlag указывает 1 (Да на этапе S212), кодер 204 SPS_QMatrix_PresentFlag кодирует QMatrix_PresentFlag (S213). Кроме того, когда QMatrix_PresentFlag указывает 1 (Да на этапе S214), кодер 220 данных матрицы кодирует данные матрицы у матриц квантования SPS (S215).
[0077] Другими словами, SPS_QMatrix_PresentFlag кодируется только когда QMatrixFlag указывает 1 (что указывает, что используются матрицы квантования SPS). Данные матрицы для матрицы квантования SPS кодируются, только когда QMatrixFlag указывает 1 (что указывает, что используются матрицы квантования), и SPS_QMatrix_PresentFlag указывает 1 (что указывает, что SPS включает в себя матрицы квантования). Кодирование данных матрицы описано подробно ниже по тексту. Кодированный битовый поток, выводимый посредством кодирования, включается в SPS.
[0078] [ОПЕРАЦИИ (КОДИРОВАНИЕ МАТРИЦ КВАНТОВАНИЯ PPS)]
Далее поток кодирования матриц квантования PPS описывается со ссылкой на каждую из ФИГ. 5А и ФИГ. 5В. Сначала, узел 205 установки PPS_QMatrix_PresentFlag устанавливает PPS_QMatrix_PresentFlag согласно QMatrixFlag, SPS_QMatrix_PresentFlag, флагу разрешения пропуска преобразования и матрицам квантования PPS (с S301 по S312).
[0079] PPS_QMatrix_PresentFlag (флаг наличия матрицы квантования PPS) является флагом, указывающим, кодировать ли матрицы квантования PPS. Другими словами, PPS_QMatrix_PresentFlag показывает, включает ли PPS в себя упомянутое множество матриц квантования, которое должно быть использовано в процессе квантования или процессе обратного квантования. PPS_QMatrix_PresentFlag показывает, что матрицы квантования PPS кодируются, когда флаг указывает 1, и показывает, что никакая матрица квантования PPS не кодируется, когда флаг указывает 0.
[0080] В потоке кодирования на каждой из ФИГ. 5A и ФИГ. 5B, когда QMatrixFlag указывает 0 (что указывает, что никакая матрица квантования не используется) (Нет на этапе S301), PPS_QMatrix_PresentFlag устанавливается в 0 (S312). Когда QMatrixFlag указывает 1 (что указывает, что матрицы квантования используются) (Да на этапе S301), за текущим процессом следует один из ветвящихся процессов согласно SPS_QMatrix_PresentFlag (S302).
[0081] Когда SPS_QMatrix_PresentFlag указывает 1 (что указывает, что SPS включает в себя матрицы квантования) (Да на этапе S302), определение делается относительно того, являются ли все матрицы квантования PPS такими же, как матрицы квантования SPS (S310). Следует отметить, что как в случае матриц квантования SPS, матрицы квантования PPS, подготовленные в данном документе, меняются по своему виду согласно размерам преобразования частоты (размерам матрицы) 4×4 и 8×8, режимам предсказания, таким как режимы внутрикадрового предсказания и режимы межкадрового предсказания, и составляющим, таким как составляющие яркости и составляющие цветности.
[0082] Когда все матрицы квантования PPS являются такими же как матрицы квантования SPS (Да на этапе S310), PPS_QMatrix_PresentFlag устанавливается в 0 (что указывает, что PPS не включает в себя какую-либо матрицу квантования) (S312). Когда одна или более матриц квантования PPS не являются такими же, как матрицы квантования SPS (Нет на этапе S310), PPS_QMatrix_PresentFlag устанавливается в 1 (что указывает, что PPS включает в себя матрицы квантования) (S311).
[0083] В дополнение, когда SPS_QMatrix_PresentFlag указывает 0 (что указывает, что SPS не включает в себя какую-либо матрицу квантования (Нет на этапе S302), определяется, указывает ли флаг разрешения пропуска преобразования 1 (что указывает, что пропуск процесса преобразования позволен) (S303).
[0084] Когда флаг разрешения пропуска преобразования указывает 0 (что указывает, что пропуск процесса преобразования запрещен) (Нет на этапе S303), определение делается относительно того, являются ли все матрицы квантования PPS такими же, как матрицы по умолчанию (S304). Когда все матрицы квантования PPS являются такими же, как матрицы по умолчанию (Да на этапе S304), PPS_QMatrix_PresentFlag устанавливается ы 0 (что означает, что PPS не включает в себя любую матрицу квантования) (S305). Когда одна или более матриц квантования PPS не являются такими же, как матрицы по умолчанию (Нет на этапе S304), PPS_QMatrix_PresentFlag устанавливается в 1 (что указывает, что PPS включает в себя матрицы квантования) (S306).
[0085] В дополнение, когда флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволен) (Да на этапе S303), определение делается относительно того, равны ли 16 все коэффициенты матрицы квантования PPS 4×4, и являются ли матрицы квантования PPS, отличные от матрицы квантования SPS 4×4, такими же, как матрицы по умолчанию, отличные от матрицы по умолчанию 4×4 (S307).
[0086] Когда результат определения является истиной (Да на этапе S307), PPS_QMatrix_PresentFlag устанавливается в 0 (что указывает, что PPS не включает в себя любую матрицу квантования) (S308). Когда результат определения является ложью (Нет на этапе S307), PPS_QMatrix_PresentFlag устанавливается в 1 (что указывает, что PPS включает в себя матрицы квантования) (S309).
[0087] Далее кодер 206 PPS_QMatrix_PresentFlag и кодер 220 данных матрицы кодируют PPS_QMatrix_PresentFlag и данные матрицы у матрицы квантования PPS, и выводят кодированный битовый поток (с S313 по S315).
[0088] Более конкретно, кодер 206 PPS_QMatrix_PresentFlag кодирует PPS_QMatrix_PresentFlag (S313). Когда PPS_QMatrix_PresentFlag указывает 1 (что указывает, что PPS включает в себя матрицы квантования) (Да на этапе S314), кодер 220 данных матрицы кодирует данные матрицы у матриц квантования PPS (S315).
[0089] Другими словами, данные матрицы у матриц квантования PPS кодируются только когда PPS_QMatrix_PresentFlag указывает 1 (что указывает, что PPS включает в себя матрицы квантования). Кодирование данных матрицы описано подробно ниже по тексту. Кодированный битовый поток, выводимый посредством кодирования, включается в PPS.
[0090] [ОПЕРАЦИИ (КОДИРОВАНИЕ ДАННЫХ МАТРИЦЫ)]
Далее поток кодирования данных матрицы описывается со ссылкой на каждую из ФИГ. 6А и ФИГ. 6В. Следует отметить, что процессы (с S402 по S416) над данными матрицы выполняются над всеми матрицами квантования, и таким образом повторяются многократно в соответствии с числом матриц квантования.
[0091] Как описано выше по тексту, матрицы квантования, которые меняются по своему виду, подготавливаются согласно размерам преобразования частоты 4×4 и 8×8 (размерам матрицы), режимам предсказания, таким как режимы внутрикадрового предсказания и режимы межкадрового предсказания, составляющим пикселя, таким как составляющие яркости и составляющие цветности. Этап S401 на ФИГ. 6А и этап S415 на ФИГ. 6В являются процессами для назначения ID каждой матрице квантования. ID инициализируется на этапе S401, и на этапе S415 осуществляется приращение ID на 1. ID назначается матрице квантования.
[0092] При кодировании данных матрицы узел 207 установки CopyMatrixFlag устанавливает CopyMatrixFlag согласно целевой матрице и флагу разрешения пропуска преобразования. В дополнение, узел 209 установки CopyMatrixID устанавливает CopyMatrixID согласно целевой матрице и флагу разрешения пропуска преобразования (с S402 по S410).
[0093] Более конкретно, все коэффициенты в целевой матрице сравниваются с 16, когда целевая матрица является матрицей 4×4, и флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволен) (Да на этапе S402). Когда целевая матрица не является матрицей 4×4 или флаг разрешения пропуска преобразования указывает 0 (что указывает, что пропуск процесса преобразования запрещен) (Нет на этапе S402), целевая матрица сравнивается с матрицей по умолчанию (S403).
[0094] Когда сравнение показывает, что целевая матрица является такой же как матрица по умолчанию (Да на этапе S404 или Да на этапе S403), CopyMatrixFlag устанавливается в 1 (что указывает, что используется матрица копии) (S409), и CopyMatrixID устанавливается в 0 (что является ID матрицы по умолчанию) (S410). Когда сравнение показывает, что целевая матрица отличается от матрицы по умолчанию (Нет на этапе S404 или Нет на этапе S403), целевая матрица дополнительно сравнивается с уже кодированной матрицей (которая имеет ID меньший, чем у целевой матрицы) (S405).
[0095] Когда сравнение показывает, что целевая матрица является такой же, как уже кодированная матрица (Да на этапе S405), CopyMatrixFlag устанавливается в 1 (что указывает, что используется матрица копии) (S407). CopyMatrixID устанавливается в качестве ID одинаковой матрицы (S408). Когда нет одинаковой матрицы (Нет на этапе S405), CopyMatrixFlag устанавливается в 0 (что указывает, что никакая матрица копии не используется) (S406).
[0096] Далее кодер 208 CopyMatrixFlag, кодер 210 CopyMatrixID и кодер 211 коэффициентов матрицы кодируют соответственно CopyMatrixFlag, CopyMatrixID и коэффициенты матрицы (с S411 по S414).
[0097] Более конкретно, кодер 208 CopyMatrixFlag кодирует CopyMatrixFlag (S411). Когда CopyMatrixFlag указывает 1 (что указывает, что используется матрица копии) (Да на этапе S412), кодер 210 CopyMatrixID кодирует CopyMatrixID (S414). Когда CopyMatrixFlag указывает 0 (что указывает, что никакая матрица копии не используется) (Нет на этапе S412), кодер 211 коэффициентов матрицы кодирует коэффициенты матрицы (S413).
[0098] Другими словами, CopyMatrixID (что является ID матрицы копии, которая должна быть использована) кодируется только когда CopyMatrixFlag указывает 1 (что указывает, что используется матрица копии). Коэффициенты матрицы кодируются только когда CopyMatrixFlag указывает 0 (что указывает, что никакая матрица копии не используется). Следует отметить, что матрица 4×4 имеет 16 коэффициентов и матрица 8×8 имеет 64 коэффициента.
[0099] [Преимущественные эффекты] Как описано выше по тексту, устройство кодирования изображений в этом варианте осуществления может использовать матрицы по умолчанию, требуя лишь небольшого объема кодов, и таким образом может увеличивать эффективность кодирования.
[0100] Более конкретно, когда матрицы по умолчанию используются в качестве всех матриц квантования, QMatrixFlag устанавливается в 1 (что указывает, что матрицы квантования используются), SPS_QMatrix_PresentFlag устанавливается в 0 (что указывает, что SPS не включает в себя любую матрицу квантования), и PPS_QMatrix_PresentFlag устанавливается в 0 (что указывает, что PPS не включает в себя любую матрицу квантования). Таким образом, эти три флага используются для представления, что матрицы по умолчанию используются в качестве всех матриц квантования.
[0101] В дополнение, можно адаптивно переключать условия для пропуска кодирования матриц квантования посредством изменения установок SPS_QMatrix_PresentFlag и PPS_QMatrix_PresentFlag и CopyMatrixFlag согласно флагу разрешения пропуска преобразования.
[0102] Когда флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволен), очень вероятно, что высококачественное изображение получается, когда никакая матрица квантования не используется. Например, поскольку никакой процесс преобразования частоты не выполняется, когда пропускается процесс преобразования, квантование выполняется над разностным блоком вместо коэффициентов частоты. В этом случае устройство кодирования изображений может естественным образом квантовать блок с использованием одинаковых коэффициентов для всего блока вместо использования любой матрицы квантования.
[0103] Соответственно, когда пропуск процесса преобразования позволен, узел 101 установки матрицы квантования может устанавливать одно и то же значение всем коэффициентам матрицы. Соответственно, устройство кодирования изображений может сокращать объем кодов, требуемых для кодирования матриц квантования посредством переключения условий кодирования на основе флага разрешения пропуска преобразования. В дополнение, устройство декодирования изображений может восстанавливать коэффициенты матрицы с использованием флага разрешения пропуска преобразования согласно такому же правилу. Соответственно, сокращается объем кодов.
[0104] В вышеуказанном примере установки SPS_QMatrix_PresentFlag и PPS_QMatrix_PresentFlag и CopyMatrixFlag переключаются согласно флагу разрешения пропуска преобразования. Однако, нет необходимости всегда выполнять такое переключение с использованием флага разрешения пропуска преобразования. Также хорошо устанавливать SPS_QMatrix_PresentFlag и PPS_QMatrix_PresentFlag и CopyMatrixFlag, используя только значения матриц квантования SPS и матриц квантования PPS.
[0105] Например, в потоке кодирования матриц квантования SPS (ФИГ. 4А и ФИГ. 4В), этапы с S205 по S207 и этапы с S208 по S210 переключаются согласно флагу разрешения пропуска преобразования. В качестве альтернативы, также хорошо устанавливать SPS_QMatrix_PresentFlag только в этапах с S205 по S207 вне зависимости от флага разрешения пропуска преобразования.
[0106] В дополнение, в вышеуказанном примере PPS_QMatrix_PresentFlag всегда кодируется для каждой картинки. Однако, когда никакая матрица квантования не используется (когда QMatrixFlag указывает 0), нет необходимости всегда кодировать PPS_QMatrix_PresentFlag.
[0107] В дополнение, в вышеуказанном примере QMatrixFlag (этот флаг указывает, использовать ли матрицы квантования) кодируется в процессе кодирования матриц квантования SPS). Однако, QMatrixFlag может быть кодирован в процессе кодирования матриц квантования PPS. В этом случае SPS_QMatrix_PresentFlag кодируется вне зависимости от значения QMatrixFlag.
[0108] В дополнение, в примере, матрицы квантования вводятся извне. Однако, матрицы квантования могут быть определены согласно особенностям входного изображения. В дополнение, матрицы квантования могут быть выбраны из многих видов матриц квантования. В качестве альтернативы, могут быть использованы фиксированные матрицы квантования.
[0109] В дополнение, в вышеуказанном примере флаг разрешения пропуска преобразования вводится извне. Однако, флаг разрешения пропуска преобразования может быть введен согласно особенностям входного изображения. В качестве альтернативы, флаг разрешения пропуска преобразования может иметь фиксированное значение.
[0110] В вышеуказанном примере кодер 220 данных матрицы реализует механизм для использования копии уже кодированной матрицы на основе CopyMatrixFlag и CopyMatrixID. Однако, упомянутое не представляет собой ограничивающий пример. В качестве альтернативы, кодер 211 коэффициентов матрицы может всегда кодировать данные матрицы вместо использования матрицы копии.
[0111] Следует отметить, что процесс преобразования пропускается только когда размер преобразования составляет 4×4 в вышеуказанном примере. Процесс преобразования всегда выполняется над матрицами, отличными от матрицы 4×4. Однако, упомянутое не представляет собой ограничивающий пример. В качестве альтернативы, процесс преобразования пропускается, когда размер преобразования составляет 8×8 или меньше, или пропускается для всех размеров преобразования.
[0112] В этом случае не только коэффициенты в матрице квантования 4×4, но также коэффициенты в каждой из других матриц квантования сравниваются с 16.
[0113] В дополнение, в вышеуказанном примере когда флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволен), определяется, равны ли 16 все коэффициенты матрицы квантования 4×4. В качестве альтернативы, также хорошо определять, являются ли все коэффициенты матрицы квантования 4×4 одинаковыми по числовому значению с использованием числового значения отличного от 16.
[0114] В вышеуказанном примере размеры блока определяются как 64×64 максимум и 8×8 минимум. Однако, размеры блока могут быть больше или меньше. В качестве альтернативы, блоки могут иметь фиксированные размеры. В дополнение, размеры преобразования не ограничиваются теми, которые указаны в примере выше по тексу.
[0115] ФИГ. 7 показывает уникальные операции, выполняемые посредством устройства кодирования изображений, согласно вышеуказанному примеру. Вышеуказанный пример объясняется ниже по тексту.
[0116] Кодер 102 матрицы квантования кодирует первый флаг, второй флаг и третий флаг (S911). Первый флаг показывает, используется ли (выборочно) множество матриц квантования, каждая из которых имеет коэффициенты различные для различных частот в процессе квантования. Второй флаг показывает, включается ли множество матриц квантования в SPS. Второй флаг показывает, включается ли множество матриц квантования в PPS. Узел 106 квантования выполняет процесс квантования (S912).
[0117] Когда множество матриц по умолчанию используется в процессе квантования в качестве множества матриц квантования, кодер 102 матрицы квантования кодирует первый флаг, указывающий, что используется множество матриц квантования. В этом случае кодер 102 матрицы квантования кодирует второй флаг, указывающий, что множество матриц квантования не включается в SPS и третий флаг, указывающий, что множество матриц квантования не включается в PPS.
[0118] Таким образом, эти три флага управляют использованием или неиспользованием множества матриц по умолчанию. Соответственно, можно увеличивать эффективность кодирования. В дополнение, факт, что SPS и PPS не включают в себя какую-либо матрицу квантования, демонстрирует использование множества матриц по умолчанию. Соответственно, увеличивается устойчивость к ошибкам.
[0119] Следует отметить, что кодировать первый флаг, указывающий, что множество матриц квантования используется в процессе квантования, означает кодировать, в качестве значения первого флага, значение, указывающее, что множество матриц квантования используется в процессе квантования. Эта взаимосвязь является такой же при кодировании других флагов.
[0120] В дополнение, другие процессы могут быть исполнены посредством других устройств. Устройство кодирования изображений не включает в себя структурные элементы для других процессов. В качестве альтернативы, устройство кодирования изображений может произвольно выполнять операции, соответствующие вышеуказанному примеру.
[0121] Например, устройство кодирования изображений кодирует первый флаг, указывающий неиспользование множества матриц квантования в процессе квантования, при использовании множества плоских матриц, каждая из которых имеет одинаковые коэффициенты, в процессе квантования вместо упомянутого множества матриц квантования.
[0122] В дополнение, например, устройство кодирования изображений кодирует первый флаг, указывающий использование множества матриц квантования в процессе квантования, при использовании множества матриц квантования в процессе квантования. В этом случае устройство кодирования изображений кодирует второй флаг, указывающий, что множество матриц квантования включается в SPS, или третий флаг, указывающий, что множество матриц квантования включается в PPS.
[0123] В дополнение, устройство кодирования изображений включает в себя множество матриц квантования в SPS, при кодировании второго флага, указывающего, что множество матриц квантования должно быть включено в SPS. В дополнение, устройство кодирования изображений включает в себя множество матриц квантования в PPS, при кодировании третьего флага, указывающего, что множество матриц квантования должно быть включено в PPS.
[0124] В дополнение, например, когда первая матрица квантования равна упомянутой второй матрице квантования, устройство кодирования изображений включает в набор параметров идентификатор, указывающий вторую матрицу квантования в качестве идентификатора копии, указывающего матрицу, копия которой используется в качестве первой матрицы квантования. В дополнение, когда первая матрица квантования равна матрице по умолчанию, устройство кодирования изображений включает в набор параметров идентификатор, указывающий матрицу по умолчанию, в качестве идентификатора копии.
[0125] В дополнение, например, устройство кодирования изображений устанавливает матрицы квантования последовательности для последовательности и матрицы квантования картинки для картинки. В дополнение, например, устройство кодирования изображений кодирует первый флаг, указывающий использование множества матриц квантования в процессе квантования, при использовании матриц квантования картинки в процессе квантования для картинки.
[0126] В дополнение, когда матрицы по умолчанию устанавливаются в качестве матриц квантования последовательности, устройство кодирования изображений кодирует второй флаг, указывающий, что никакая матрица квантования не включается в SPS. В дополнение, когда матрицы квантования последовательности устанавливаются в качестве матриц квантования картинки, устройство кодирования изображений кодирует третий флаг, указывающий, что никакая матрица квантования не включается в PPS.
[0127] В дополнение, например, устройство кодирования изображений генерирует квантованные данные посредством выполнения процесса квантования, и кодирует результирующие квантованные данные.
[0128] В дополнение, например, устройство кодирования изображений использует плоскую матрицу, имеющую одинаковые коэффициенты, в процессе квантования для блока, не подверженного преобразованию частоты, и использует множество матриц по умолчанию, подверженное преобразованию частоты.
[0129] В этом случае устройство кодирования изображений кодирует первый флаг, указывающий использование множества матриц квантования в процессе квантования. В дополнение, устройство кодирования изображений кодирует второй флаг, указывающий, что никакая матрица квантования не включается в SPS. В дополнение, устройство кодирования изображений кодирует третий флаг, указывающий, что никакая матрица квантования не включается в PPS.
[0130] Вышеуказанные операции могут быть произвольно скомбинированы. В дополнение, различные модификации могут быть добавлены на основе вышеуказанного примера в этом варианте осуществления.
[0131] Кроме того, процессы в этом варианте осуществления могут быть выполнены посредством программного обеспечения. Это программное обеспечение может быть распределено посредством загрузки или подобного. В дополнение, это программное обеспечение может быть записано на носитель записи, такой как CD-ROM и быть распространено. Эти применения возможны в других вариантах осуществления.
[0132] [ВАРИАНТ 2 ОСУЩЕСТВЛЕНИЯ]
Этот вариант осуществления описывает устройство декодирования изображений, соответствующее устройству кодирования изображений, описанному в варианте 1 осуществления. Устройство декодирования изображений в этом варианте осуществления выполняет операции, соответствующие операциям, выполняемым посредством устройства кодирования изображений в варианте 1 осуществления. Таким образом, устройство декодирования изображений в этом варианте осуществления может декодировать изображение, кодированное посредством устройства кодирования изображений в варианте 1 осуществления. Здесь, этот вариант осуществления может не включать в себя одинаковые описания, обеспеченные с использованием одинаковых терминов в варианте 1 осуществления.
[0133] [Общая структура] ФИГ. 8 показывает структуру устройства декодирования изображений в этом варианте осуществления. Как показано на ФИГ. 8, устройство декодирования изображений в этом варианте осуществления включает в себя декодер 301 коэффициентов, декодер 302 матрицы квантования, узел 303 обратного квантования, узел 304 обратного преобразования, сумматор 305, и память 306 кадров.
[0134] [Операции (от начала до конца)] Далее поток декодирования от начала до конца описывается со ссылкой на ФИГ. 9. Сначала, декодер 302 матрицы квантования декодирует матрицы квантования SPS, которые являются матрицами квантования, которые должны быть использованы в обработке целевой последовательности (S501). Подробности описываются ниже по тексту. Следует отметить, что последующие процессы (с S502 по S508) для картинки выполняется для каждой из картинок в последовательности. Таким образом, эти процессы повторяются многократно в соответствии с числом картинок в последовательности.
[0135] Далее декодер 302 матрицы квантования устанавливает матрицы квантования PPS, которые являются матрицами квантования, которые должны быть использованы для целевой картинки (S502). Подробности описываются ниже по тексту. Следует отметить, что последующие процессы (с S503 по S507) для блока выполняются для каждого из блоков в картинке. Таким образом, эти процессы повторяются многократно в соответствии с числом блоков в картинке.
[0136] Далее декодер 301 коэффициентов декодирует квантованные коэффициенты из кодированного битового потока (S503). Узел 303 обратного квантования обратно квантует квантованные коэффициенты для восстановления коэффициентов частоты или разностного блока (S504). В это время обратное квантование выполняется с использованием матриц квантования PPS, декодируемых на этапе S502.
[0137] Далее узел 304 обратного преобразования преобразует коэффициенты частоты в пиксельные данные для восстановления разностного блока (S505). В это время флаг, указывающий, пропускается ли процесс преобразования частоты для целевого блока, был получен из кодированного битового потока. Когда процесс преобразования частоты был пропущен, также пропускается процесс обратного преобразования. Следует отметить, что процесс преобразования пропускается только когда размер преобразования составляет 4×4, и что процесс преобразования выполняется вне зависимости от какого-либо флага, когда размер преобразования представляет собой размеры, отличные от 4×4.
[0138] Далее сумматор 305 генерирует декодированный блок посредством суммирования декодированного изображения (изображения предсказания), сохраненного в памяти 306 кадров, и разностного блока, и заново сохраняет декодированный блок в памяти 306 кадров (S506). Блок (единица кодирования) имеет переменный размер. Например, минимальным размером является 8×8 в горизонтальном и вертикальном направлениях, и максимальным размером блока является 64×64 в горизонтальном и вертикальном направлениях.
[0139] В дальнейшем в этом документе, подробно описывается декодер 302 матрицы квантования. Декодер 302 матрицы квантования декодирует матрицы квантования SPS и матрицы квантования PPS.
[0140] [Структура декодера матрицы квантования] ФИГ. 10 показывает внутреннюю структуру декодера 302 матрицы квантования. Как показано на ФИГ. 10, декодер 302 матрицы квантования включает в себя декодер 401 QMatrixFlag, декодер 402 SPS_QMatrix_PresentFlag, декодер 403 PPS_QMatrix_PresentFlag и узел 404 установки матрицы квантования, и декодер 420 данных матрицы.
[0141] Декодер 420 данных матрицы включает в себя декодер 405 CopyMatrixFlag, декодер 406 CopyMatrixID и декодер 407 коэффициентов матрицы.
[0142] [Операции (декодирование матриц квантования SPS)] Далее поток декодирования матриц квантования SPS описывается со ссылкой на ФИГ. 11.
[0143] Сначала, декодер 401 QMatrixFlag декодирует QMatrixFlag из кодированного битового потока (S601). В дополнение, когда QMatrixFlag указывает 0 (что указывает, что никакая матрица квантования не используется) (Нет на этапе S602), узел 404 установки матрицы квантования устанавливает 16 в качестве каждого из коэффициентов матриц квантования SPS (S603). Когда QMatrixFlag указывает 1 (что указывает, что матрицы квантования используются) (Да на этапе S602), выполняются следующие этапы с S604 по S610.
[0144] Более конкретно, декодер 402 SPS_QMatrix_PresentFlag декодирует SPS_QMatrix_PresentFlag из кодированного битового потока (S604). Когда SPS_QMatrix_PresentFlag указывает 1 (что указывает, что матрицы квантования включаются в SPS) (Да на этапе S605), декодер 420 данных матрицы декодирует данные матрицы у матриц квантования SPS (S606). Декодирование данных матрицы описано подробно ниже по тексту.
[0145] Когда SPS_QMatrix_PresentFlag указывает 0 (что указывает, что никакая матрица квантования не включена в SPS) (Нет на этапе S605), узел 404 установки матрицы квантования устанавливает матрицы квантования SPS согласно флагу разрешения пропуска преобразования в кодированном битовом потоке (с S607 по S610).
[0146] Более конкретно, когда флаг разрешения пропуска преобразования указывает 0 (что указывает, что пропуск процесса преобразования запрещен) (Нет на этапе S607), матрицы по умолчанию устанавливаются в качестве матриц квантования SPS (S610). Другими словами, коэффициенты матриц по умолчанию копируются и используются в качестве коэффициентов матриц квантования SPS.
[0147] Когда флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволяется) (Да на этапе S607), устанавливают 16 в качестве всех коэффициентов матрицы квантования SPS 4×4 (S608), и устанавливают матрицы по умолчанию в качестве матриц квантования SPS, отличных от матрицы квантования SPS 4×4 (S609).
[0148] [Операции (декодирование матриц квантования PPS)] Далее поток декодирования матриц квантования PPS описывается со ссылкой на ФИГ. 12. Сначала, декодер 403 PPS_QMatrix_PresentFlag декодирует PPS_QMatrix_PresentFlag из кодированного битового потока (S701).
[0149] Далее когда QMatrixFlag, декодированный посредством декодера 401 QMatrixFlag, указывает 0 (что указывает, что никакая матрица квантования не используется) (Нет на этапе S702), узел 404 установки матрицы квантования устанавливает 16 в качестве каждого из коэффициентов матриц квантования PPS (S703). Когда QMatrixFlag указывает 1 (что указывает, что матрицы квантования используются) (Да на этапе S702), выполняются следующие этапы с S704 по S711.
[0150] Более конкретно, когда PPS_QMatrix_PresentFlag указывает 1 (что указывает, что матрицы квантования включены в PPS) (Да на этапе S704), декодер 420 данных матрицы декодирует данные матрицы у матриц квантования PPS (S705). Декодирование данных матрицы описано подробно ниже по тексту. Когда PPS_QMatrix_PresentFlag указывает 0 (что указывает, что никакая матрица квантования не включена в PPS), выполняются последующие этапы с S706 по S711.
[0151] Более конкретно, когда SPS_QMatrix_PresentFlag указывает 1 (что указывает, что матрицы квантования включены в SPS) (Да на этапе S706), узел 404 установки матрицы квантования устанавливает матрицы квантования SPS в качестве матриц квантования PPS (S707). Другими словами, коэффициенты матриц квантования SPS копируются и используются в качестве коэффициентов матриц квантования PPS.
[0152] Когда SPS_QMatrix_PresentFlag указывает 0 (что указывает, что никакая матрица квантования не включена в SPS) (Нет на этапе S706), узел 404 установки матрицы квантования устанавливает матрицу квантования PPS согласно флагу разрешения пропуска преобразования в кодированном битовом потоке (с S708 по S711).
[0153] Более конкретно, когда флаг разрешения пропуска преобразования указывает 0 (что указывает, что пропуск процесса преобразования запрещен) (Нет на этапе S708), матрицы по умолчанию устанавливаются в качестве матриц квантования PPS (S711). Другими словами, коэффициенты матриц по умолчанию копируются и используются в качестве коэффициентов матриц квантования PPS. Когда флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволен) (Да на этапе S708), устанавливают 16 в качестве всех коэффициентов матрицы квантования PPS 4×4 (S709), и устанавливают соответствующие матрицы из матриц по умолчанию в качестве матриц квантования PPS, отличных от матрицы квантования PPS 4×4 (S710).
[0154] [ОПЕРАЦИИ (ДЕКОДИРОВАНИЕ ДАННЫХ МАТРИЦЫ)]
Далее поток декодирования от начала до конца описывается со ссылкой на ФИГ. 13. Следует отметить, что процессы (с S802 по S812) над данными матрицы выполняются над всеми матрицами квантования. Соответственно, эти процессы повторяются многократно в соответствии с числом матриц квантования. Как описано выше по тексту, несколько видов матриц квантования подготавливаются согласно размерам преобразования частоты, например, 4×4 и 8×8 (размерам матрицы), режимам предсказания, таким как режимы внутрикадрового предсказания и режимы межкадрового предсказания, и составляющим пикселя, таким как составляющие яркости и составляющие цветности.
[0155] Этап S801 и этап S811 обрабатываются для назначения ID каждой матрице квантования. ID инициализируется на этапе S801, и на этапе S811 осуществляется приращение ID на 1. ID назначается матрице квантования.
[0156] При декодировании данных матрицы декодер 405 CopyMatrixFlag сначала декодирует CopyMatrixFlag (S802). Когда CopyMatrixFlag указывает 0 (что указывает, что никакая матрица копии не используется) (Нет на этапе S803), декодер 407 коэффициентов матрицы декодирует коэффициенты матрицы (S804). Здесь, матрица 4×4 имеет 16 коэффициентов, и матрица 8×8 имеет 64 коэффициента.
[0157] Когда QMatrixFlag указывает 1 (что указывает, что матрица копии используется) (Да на этапе S803), выполняются следующие этапы с S805 по S810.
[0158] Более конкретно, декодер 406 CopyMatrixID декодирует CopyMatrixID (S805). Когда CopyMatrixID является числовым значением отличным от 0 (что является ID уже декодированной матрицы) (Нет на этапе S806), узел 404 установки матрицы квантования использует коэффициенты матрицы копии, указываемой посредством CopyMatrixID, в качестве коэффициентов целевой матрицы (S810).
[0159] Когда CopyMatrixID указывает 0 (что является ID матрицы по умолчанию) (Да на этапе S806), узел 404 установки матрицы квантования устанавливает значение матрицы согласно флагу разрешения пропуска преобразования в кодированном битовом потоке и размеру целевой матрицы (с S807 по S809).
[0160] Более конкретно, 16 устанавливается в качестве всех коэффициентов в целевой матрице, когда флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволен) и целевая матрица является матрицей 4×4 (Да на этапе S807). Когда флаг разрешения пропуска преобразования указывает 0 (что указывает, что пропуск процесса преобразования запрещен), или когда целевая матрица не является матрицей 4×4 (Нет на этапе S807), целевая матрица устанавливается в качестве соответствующей матрицы по умолчанию (S809). Другими словами, коэффициенты матрицы по умолчанию копируются и используются в качестве коэффициентов целевой матрицы.
[0161] [ПРЕИМУЩЕСТВЕННЫЕ ЭФФЕКТЫ]
Как описано выше по тексту, устройство декодирования изображений в этом варианте осуществления может использовать матрицы по умолчанию с небольшим объемом кодов, и таким образом способно декодировать кодированный битовый поток, имеющий увеличенную эффективность кодирования.
[0162] Более конкретно, матрицы по умолчанию используются в качестве всех матриц квантования, когда QMatrixFlag указывает 1 (что указывает, что матрицы квантования используются), SPS_QMatrix_PresentFlag указывает 0 (что указывает, что SPS не включает в себя какую-либо матрицу квантования), и PPS_QMatrix_PresentFlag указывает 0 (что указывает, что PPS не включает в себя какую-либо матрицу квантования). Устройство декодирования изображений может использовать матрицы по умолчанию в качестве всех матриц квантования, согласно трем флагам.
[0163] В дополнение, все коэффициенты устанавливаются в одинаковое значение вместо использования матриц по умолчанию, согласно флагу разрешения пропуска преобразования. Таким образом, реализуется высокое качество изображения.
[0164] Когда флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволен), очень вероятно, что высококачественное изображение получается, когда никакая матрица квантования не используется. Например, поскольку никакое преобразование частоты (обратное преобразование частоты) не выполняется, когда пропускается процесс преобразования, квантование (обратное квантование) выполняется над разностным блоком вместо коэффициентов частоты. Таким образом, блок квантуется (обратно квантуется) более естественным образом, когда целый блок квантуется (обратно квантуется) с использованием одинаковых коэффициентов, вместо использования матриц квантования.
[0165] По этой причине матрицы квантования не всегда используются, когда флаг разрешения пропуска преобразования указывает 1 (что указывает, что пропуск процесса преобразования позволен). Соответственно, когда флаг разрешения пропуска преобразования указывает 1 и SPS и PPS не включают в себя какую-либо матрицу квантования, все коэффициенты текущей матрицы устанавливаются в одинаковое значение вместо использования матриц по умолчанию, что позволяет сокращать объем кодов и увеличивать качество изображения.
[0166] В этом примере значение установки для матрицы квантования выбирается согласно флагу разрешения пропуска преобразования. Однако, значение установки не всегда должно быть выбрано согласно флагу разрешения пропуска преобразования. Матрицы по умолчанию могут быть использованы вне зависимости от флага разрешения пропуска преобразования, когда QMatrixFlag указывает 1 (что указывает, что матрицы квантования используются) и SPS_QMatrix_PresentFlag и PPS_QMatrix_PresentFlag указывают 0 (что указывает, что SPS_QMatrix_PresentFlag и PPS_QMatrix_PresentFlag не включают в себя какую-либо матрицу квантования).
[0167] Например, в потоке декодирования с использованием матриц квантования SPS (ФИГ. 12), этапы S709 и S710 и этап S711 переключаются согласно флагу разрешения пропуска преобразования. Однако, матрицы квантования PPS могут быть установлены посредством выполнения только этапа S711 без переключения этапов.
[0168] В дополнение, в вышеуказанном примере PPS_QMatrix_PresentFlag всегда декодируется для каждой картинки. Однако, когда никакая матрица квантования не используется (когда QMatrixFlag указывает 0), нет необходимости всегда декодировать PPS_QMatrix_PresentFlag.
[0169] В дополнение, в вышеуказанном примере QMatrixFlag (этот флаг указывает, использовать ли матрицы квантования) кодируется в процессе декодирования матриц квантования SPS). Однако, QMatrixFlag может быть декодирован в процессе декодирования матриц квантования PPS. В этом случае SPS_QMatrix_PresentFlag декодируется вне зависимости от значения QMatrixFlag.
[0170] В дополнение, в вышеуказанном примере декодер 420 данных матрицы реализовывает механизм для использования копии уже декодированной матрицы на основе CopyMatrixFlag и CopyMatrixID. Однако, упомянутое не представляет собой ограничивающий пример. В качестве альтернативы, декодер 407 коэффициентов матрицы может всегда декодировать данные матрицы без использования матрицы копии.
[0171] Следует отметить, что процесс преобразования пропускается только когда размер преобразования составляет 4×4 в вышеуказанном примере. Процесс преобразования всегда выполняется над матрицами, отличными от матрицы 4×4. Однако, упомянутое не представляет собой ограничивающий пример. В качестве альтернативы, процесс преобразования пропускается, когда размер преобразования составляет 8×8 или меньше, или пропускается для всех размеров матрицы.
[0172] При установке матриц квантования в этом случае 16 устанавливается не только в качестве коэффициентов матрицы квантования 4×4, но также в качестве коэффициентов матриц квантования 8×8 и больших.
[0173] В дополнение, когда флаг разрешения пропуска преобразования указывает 1 в вышеуказанном примере 16 устанавливается в качестве всех коэффициентов матрицы квантования 4×4. В качестве альтернативы, числовое значение отличное от 16 может быть установлено в качестве всех коэффициентов матрицы квантования.
[0174] В вышеуказанном примере размеры блока определяются как максимум 64×64 и минимум 8×8. Однако, размеры блока могут быть больше или меньше. В качестве альтернативы, блоки могут иметь фиксированные размеры. В дополнение, размеры преобразования не ограничиваются теми, которые указаны в примере выше по тексту.
[0175] ФИГ. 14 показывает уникальные операции, выполняемые посредством устройства декодирования изображений согласно вышеуказанному примеру. Вышеуказанный пример объясняется ниже по тексту.
[0176] Декодер 302 матрицы квантования декодирует первый флаг, второй флаг и третий флаг (S921). Первый флаг показывает, используется ли (выборочно) множество матриц квантования, каждая из которых имеет коэффициенты различные для различных частот в процессе обратного квантования. Второй флаг показывает, включается ли множество матриц квантования в SPS. Второй флаг показывает, включается ли множество матриц квантования в PPS.
[0177] Узел 303 обратного квантования выполняет процесс обратного квантования (S922). Здесь, узел 303 обратного квантования выполняет процесс обратного квантования с использованием множества матриц по умолчанию в качестве множества матриц квантования, когда декодируются следующие: (i) первый флаг, указывающий, что множество матриц квантования используется в процессе обратного квантования; (ii) второй флаг, указывающий, что множество матриц квантования не включено в SPS; и (iii) третий флаг, указывающий, что множество матриц квантования не включено в PPS.
[0178] Таким образом, эти три флага управляют использованием или неиспользованием множества матриц по умолчанию. Соответственно, можно увеличивать эффективность кодирования. В дополнение, факт, что SPS и PPS не включает в себя какую-либо матрицу квантования, показывает использование множества матриц по умолчанию. Соответственно, увеличивается устойчивость к ошибкам.
[0179] Здесь, декодировать первый флаг, указывающий, что множество матриц квантования используется в процессе обратного квантования, в частности означает декодировать, в качестве значения первого флага, значение, указывающее, что множество матриц квантования используется при обратном квантовании. Эта взаимосвязь является такой же при декодировании других флагов.
[0180] В дополнение, другие процессы могут быть исполнены посредством других устройств. Устройство декодирования изображений не всегда включает в себя структурные элементы для других процессов. В качестве альтернативы, устройство декодирования изображений может произвольно выполнять операции, соответствующие вышеуказанному примеру.
[0181] Например, когда декодируется первый флаг, который указывает, что множество матриц квантования не используется в процессе обратного квантования, устройство декодирования изображений выполняет процесс обратного квантования с использованием множества плоских матриц, каждая из которых имеет одинаковые коэффициенты, вместо упомянутого множества матриц квантования.
[0182] В дополнение, например, устройство декодирования изображений декодирует первый флаг, указывающий, что множество матриц квантования используется в процессе обратного квантования и второй флаг, указывающий, что множество матриц квантования включается в SPS. В этом случае устройство декодирования изображений выполняет процесс обратного квантования с использованием множества матриц квантования, включенного в SPS.
[0183] В дополнение, например, устройство декодирования изображений декодирует первый флаг, указывающий, что множество матриц квантования используется в процессе обратного квантования, и третий флаг, указывающий, что множество матриц квантования включено в PPS. В этом случае устройство декодирования изображений выполняет процесс обратного квантования с использованием матриц квантования, включенных в PPS.
[0184] В дополнение, например, когда набор параметров включает в себя идентификатор, указывающий вторую матрицу квантования, в качестве идентификатора копии, устройство декодирования изображений выполняет процесс обратного квантования с использованием матриц квантования, в том числе первой матрицы квантования, в качестве которой используется копия второй матрицы квантования.
[0185] В дополнение, например, когда набор параметров включает в себя идентификатор, указывающий матрицу по умолчанию, в качестве идентификатора копии, устройство декодирования изображений выполняет процесс обратного квантования с использованием матриц квантования, в том числе первой матрицы квантования, в качестве которой используется копия матрицы по умолчанию.
[0186] В дополнение, например, устройство декодирования изображений устанавливает матрицы квантования последовательности для последовательности и матрицы квантования картинки для картинки. Устройство декодирования изображений выполняет процесс обратного квантования над картинкой с использованием матриц квантования картинки, при декодировании первого флага, указывающего, что множество матриц квантования используется в процессе обратного квантования.
[0187] При установке матриц квантования последовательности устройство декодирования изображений устанавливает матрицы по умолчанию в качестве матриц квантования последовательности, при декодировании второго флага, указывающего, что никакая матрица квантования не включена в SPS. При установке матриц квантования картинки устройство декодирования изображений устанавливает матрицы квантования последовательности в качестве матриц квантования картинки, при декодировании третьего флага, указывающего, что никакая матрица квантования не включена в PPS.
[0188] В дополнение, например, устройство декодирования изображений декодирует квантованные данные и выполняет процесс обратного квантования над декодированными квантованными данными.
[0189] В дополнение, например, устройство декодирования изображений декодирует (i) первый флаг, указывающий, что матрицы квантования используются в процессе обратного квантования, (ii) второй флаг, указывающий, что никакая матрица квантования не включена в SPS, и (iii) третий флаг, указывающий, что никакая матрица квантования не включена в PPS, и переходит к следующей операции ниже по тексту.
[0190] Устройство декодирования изображений выполняет процесс обратного квантования с использованием плоских матриц, каждая из которых имеет одинаковые коэффициенты, над блоком, не подверженным обратному преобразованию частоты. Устройство декодирования изображений выполняет процесс обратного квантования с использованием матриц по умолчанию над блоком, подверженным обратному преобразованию.
[0191] Вышеуказанные операции могут быть произвольно скомбинированы. В дополнение, различные модификации могут быть добавлены на основе вышеуказанного примера в этом варианте осуществления.
[0192] В каждом из вышеуказанных вариантов осуществления функциональные блоки могут быть реализованы посредством MPU и памяти и подобного. В дополнение, обработка посредством функциональных блоков может быть реализована посредством программного обеспечения (программы), и программное обеспечение может быть записано на носитель записи, такой как ROM. Программное обеспечение может быть распространено посредством загрузки или подобного, или может быть записано на носителях записи, таких как CD-ROM и затем быть распространено. Здесь, функциональные блоки могут быть реализованы в качестве аппаратного обеспечения (особых схем).
[0193] Другими словами, в каждом из вышеуказанных вариантов осуществления каждый из структурных элементов может быть сконфигурирован в качестве особого аппаратного обеспечения или может быть реализован посредством исполнения программы программного обеспечения подходящей для структурного элемента. Каждый из структурных элементов может быть реализован посредством узла исполнения программ, такого как CPU или процессор, считывающего программу программного обеспечения, записанную на носителе записи, таком как жесткий диск или полупроводниковая память, и исполняющего программу программного обеспечения.
[0194] Другими словами, каждое из устройства кодирования изображений и устройства декодирования изображений включает в себя схему обработки и хранилище, электрически соединенное со схемой обработки (это хранилище доступно из схемы обработки). Схема обработки включает в себя по меньшей мере одно из особого аппаратного обеспечение и узла исполнения программ, и исполняет обработку с использованием хранилища. В дополнение, когда схема обработки включает в себя узел исполнения программ, хранилище сохраняет программу программного обеспечения, которая исполняется посредством узла исполнения программ.
[0195] Здесь, программное обеспечение, которое реализует устройство кодирования изображений в каждом из вариантов осуществления, является, например, программой ниже по тексту.
[0196] Примерная программа побуждает компьютер к исполнению способа кодирования изображений согласно аспекту настоящего изобретения, который представляет собой способ кодирования изображений для кодирования изображения, включающий в себя: кодирование (i) информации коэффициентов, указывающей множество коэффициентов одного или более блоков, включенных в изображение, (ii) первого флага, указывающего, квантовать ли один или более блоков с использованием множества матриц квантования, каждая из которых имеет коэффициенты различные для различных частот, (iii) второго флага, указывающего, включено ли упомянутое множество матриц квантования в набор параметров последовательности, и (iv) третьего флага, указывающего, включено ли упомянутое множество матриц квантования в набор параметров картинки; и квантование упомянутого множества коэффициентов, при этом, когда один или более блоков квантуются при квантовании с использованием множества матриц по умолчанию в качестве упомянутого множества матриц квантования, при кодировании кодируются следующие: (i) первый флаг, указывающий, что один или более блоков квантуются с использованием множества матриц квантования, (ii) второй флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров последовательности, и (iii) третий флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров картинки.
[0197] Кроме того, другая примерная программа может побуждать компьютер к исполнению способа декодирования изображений согласно аспекту настоящего изобретения, который представляет собой способ декодирования изображений для декодирования кодированного битового потока для декодирования изображения, способ декодирования изображений может включать в себя: декодирование, из кодированного битового потока, (i) информации коэффициентов, указывающей множество коэффициентов одного или более блоков, включенных в изображение, (ii) первого флага, указывающего, осуществлять ли обратное квантование упомянутого одного или более блоков с использованием множества матриц квантования, каждая из которых имеет коэффициенты различные для различных частот, (iii) второго флага, указывающего, включено ли упомянутое множество матриц квантования в набор параметров последовательности, и (iv) третьего флага, указывающего, включено ли упомянутое множество матриц квантования в набор параметров картинки; и обратное квантование информации коэффициентов, при этом, когда следующие могут быть декодированы: (i) первый флаг, указывающий, что один или более блоков обратно квантуются с использованием упомянутого множества матриц квантования, (ii) второй флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров последовательности, и (iii) третий флаг, указывающий, что упомянутое множество матриц квантования не включено в набор параметров картинки, информация коэффициентов может быть обратно квантована при обратном квантовании с использованием множества матриц по умолчанию в качестве упомянутого множества матриц квантования.
[0198] Структурные элементы могут быть схемами. Все эти схемы могут быть объединены в одну схему или могут быть сконфигурированы как отдельные схемы. В качестве альтернативы, каждый из структурных элементов может быть реализован в качестве универсального процессора или в качестве особого процессора.
[0199] В качестве альтернативы процесс, исполняемый посредством конкретного узла из узлов обработки может быть исполнен посредством другого узла из узлов обработки. В качестве альтернативы, порядок исполнения процессов может быть изменен или некоторые из процессов могут быть исполнены параллельно. В качестве альтернативы, устройство кодирования и декодирования изображений может включать в себя устройство кодирования изображений и устройство декодирования изображений.
[0200] В дополнение, процессы, описанные в каждом из вариантов осуществления, могут быть реализованы при централизованной обработке с использованием одного устройства (системы) или могут быть реализованы при распределенной обработке с использованием множества устройств. Программа может быть исполнена посредством одного или более компьютеров. Другими словами, один компьютер может исполнять программу при централизованной обработке или несколько компьютеров могут исполнять программу при распределенной обработке.
[0201] Хотя устройства кодирования изображений и так далее согласно одному или более аспектам были описаны выше по тексту на основе вариантов осуществления, настоящее изобретение не ограничивается этими вариантами осуществления. Варианты осуществления, достижимые посредством добавления различных видов модификаций, которых достиг бы специалист в данной области техники, или варианты осуществления, сконфигурированные посредством объединения составляющих элементов в разных вариантах осуществления, могут быть включены в диапазон одного или более вариантов осуществления при условии, что эти варианты осуществления не отклоняются от объема настоящего изобретения.
[0202] [ВАРИАНТ 3 ОСУЩЕСТВЛЕНИЯ]
Обработка, описанная в каждом из вариантов осуществления, может быть просто реализована в независимой компьютерной системе посредством записи, на носителе записи, программы для реализации конфигураций способа кодирования движущихся картинок (способа кодирования изображений) и способа декодирования движущихся картинок (способа декодирования изображений), описанных в каждом из вариантов осуществления. Носители записи могут быть любыми носителями записи при условии, что может быть записана программа, например магнитным диском, оптическим диском, магнитооптическим диском, платой ИС и полупроводниковой памятью.
[0203] В дальнейшем в этом документе будут описаны применения для способа кодирования движущихся картинок (способа кодирования изображений) и способа декодирования движущихся картинок (способа декодирования изображений), описанных в каждом из вариантов осуществления, и систем с их использованием. Система обладает особенностью наличия устройства кодирования и декодирования изображений, которое включает в себя устройство кодирования изображений, использующее способ кодирования изображений, и устройство декодирования изображений, использующее способ декодирования изображений. Другие конфигурации в системе при необходимости могут быть изменены в зависимости от различных ситуаций.
[0204] ФИГ. 15 иллюстрирует полную конфигурацию системы ex100 обеспечения контента для реализации служб распространения контента. Область для обеспечения услуг связи делится на соты желаемого размера, и в каждой из сот размещаются базовые станции ex106, ex107, ex108, ex109 и ex110, которые являются неподвижными беспроводными станциями.
[0205] Система ex100 обеспечения контента соединяется с устройствами, такими как компьютер ex111, персональный цифровой помощник (PDA) ex112, камера ex113, сотовый телефон ex114 и игровая машина ex115, через Интернет ex101, поставщика ex102 услуг Интернета, телефонную сеть ex104, а также базовые станции с ex106 по ex110 соответственно.
[0206] Однако конфигурация системы ex100 обеспечения контента не ограничивается конфигурацией, показанной на ФИГ. 15, и допустима комбинация, в которой соединяются любые элементы. В дополнение, каждое устройство может быть соединено с телефонной сетью ex104 напрямую, а не через базовые станции с ex106 по ex110, которые являются неподвижными беспроводными станциями. Кроме того, устройства могут быть взаимосвязаны друг с другом посредством ближней беспроводной связи и других.
[0207] Камера ex113, такая как цифровая видеокамера, допускает захват видео. Камера ex116, такая как цифровая камера, допускает захват, как неподвижных изображений, так и видео. Кроме того, сотовый телефон ex114 может быть телефоном, который соответствует любому из стандартов, таким как Глобальная система мобильной связи (GSM, зарегистрированный товарный знак), Коллективный доступ с кодовым разделением каналов (CDMA), Широкополосный коллективный доступ с кодовым разделением каналов (W-CDMA), Система долгосрочного развития (LTE) и Высокоскоростной пакетный доступ (HSPA). В качестве альтернативы сотовый телефон ex114 может относиться к Системе персональных переносных телефонов (PHS).
[0208] В системе ex100 обеспечения контента сервер ex103 потоковой передачи соединяется с камерой ex113 и другими через телефонную сеть ex104 и базовую станцию ex109, что обеспечивает возможность распространения изображений передачи в прямом эфире и прочих. При таком распространении контент (например, видео музыкальной передачи в прямом эфире), захваченный пользователем с использованием камеры ex113, кодируется как описано выше по тексту в каждом из вариантов осуществления (то есть, камера функционирует в качестве устройства кодирования изображений согласно аспекту настоящего изобретения), и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи осуществляет потоковое распределение данных переданного контента клиентам по их запросам. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которые допускают декодирование вышеупомянутых кодированных данных. Каждое из устройств, которое приняло распространенные данные, декодирует и воспроизводит кодированные данные (то есть, функционирует в качестве устройства декодирования изображений согласно аспекту настоящего изобретения).
[0209] Захваченные данные могут быть кодированы посредством камеры ex113 или сервера ex103 потоковой передачи, который передает данные, либо процессы кодирования могут быть совместно использованы между камерой ex113 и сервером ex103 потоковой передачи. Аналогично, распространенные данные могут быть декодированы посредством клиентов или сервера ex103 потоковой передачи, либо процессы декодирования могут быть совместно использованы между клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и видео, захваченных не только камерой ex113, но также и камерой ex116, могут быть переданы серверу ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут быть выполнены камерой ex116, компьютером ex111 или сервером ex103 потоковой передачи, либо совместно использованы между ними.
[0210] Кроме того, процессы кодирования и декодирования могут быть выполнены посредством LSI ex500, обычно включенной в каждое из компьютера ex111 и устройств. LSI ex500 может быть сконфигурирована из одного кристалла или множества кристаллов. Программное обеспечение для кодирования и декодирования видео может быть интегрировано в некоторый тип носителя записи (такой как CD-ROM, гибкий диск и жесткий диск), который считывается компьютером ex111 и другими, и процессы кодирования и декодирования могут быть выполнены с использованием программного обеспечения. Кроме того, когда сотовый телефон ex114 оборудован камерой, могут быть переданы видеоданные, полученные посредством камеры. Видеоданные являются данными, кодированными LSI ex500, включенной в сотовый телефон ex114.
[0211] Кроме того, сервер ex103 потоковой передачи может быть составлен из серверов и компьютеров, и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распространять данные.
[0212] Как описано выше по тексту, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 обеспечения контента. Другими словами, клиенты могут принимать и декодировать информацию, переданную пользователем, и воспроизводить декодированные данные в реальном масштабе времени в системе ex100 обеспечения контента, чтобы пользователь, у которого нет какого-либо конкретного права и оборудования, мог реализовать личное вещание.
[0213] Помимо примера системы ex100 обеспечения контента по меньшей мере одно из устройства кодирования движущихся картинок (устройства кодирования изображений) и устройства декодирования движущихся картинок (устройства декодирования изображений), описанных в каждом из вариантов осуществления, может быть реализовано в цифровой системе ex200 вещания, проиллюстрированной на ФИГ. 16. Более конкретно, вещательная станция ex201 сообщает или передает посредством радиоволн вещательному спутнику ex202 мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и прочих в видеоданные. Видеоданные являются данными, кодированными посредством способа кодирования движущихся картинок, описанного в каждом из вариантов осуществления (то есть, данными, кодированными посредством устройства кодирования изображений согласно аспекту настоящего изобретения). При приеме мультиплексированных данных вещательный спутник ex202 передает радиоволны для вещания. Затем домашняя антенна ex204 с функцией приема спутникового вещания принимает радиоволны. Далее устройство, такое как телевизор ex300 (приемник) и абонентская приставка ex217 (STB), декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (то есть, функционирует в качестве устройства декодирования изображений согласно аспекту настоящего изобретения).
[0214] Кроме того, устройство ех218(i) считывания/записи считывает и декодирует мультиплексированные данные, записанные на носителе ех215 записи, таком как DVD и BD, или (i) кодирует видеосигналы на носителе ех215 записи, а в некоторых случаях записывает данные, полученные посредством мультиплексирования аудиосигнала на кодированные данные. Устройство ех218 считывания/записи может включать в себя устройство декодирования движущихся картинок или устройство кодирования движущихся картинок, как показано в каждом из вариантов осуществления. В этом случае воспроизведенные видеосигналы отображаются на мониторе ex219 и могут быть воспроизведены посредством другого устройства или системы с использованием носителя ex215 записи, на котором записываются мультиплексированные данные. Также можно реализовывать устройство декодирования движущихся картинок в абонентской приставке ex217, соединенной с кабелем ex203 для кабельного телевидения или с антенной ex204 для спутникового и/или наземного вещания, с тем чтобы отображать видеосигналы на мониторе ex219 телевизора ex300. Устройство декодирования движущихся картинок может быть реализовано не в абонентской приставке, а в телевизоре ex300.
[0215] ФИГ. 17 иллюстрирует телевизор (приемник) ex300, который использует способ кодирования движущихся картинок и способ декодирования движущихся картинок, описанные в каждом из вариантов осуществления. Телевизор ex300 включает в себя: тюнер ex301, который получает или обеспечивает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные, через антенну ex204 или кабель ex203 и так далее, который принимает вещание; узел ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные для поставки их вовне; и узел ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные на видеоданные и аудиоданные либо мультиплексирует видеоданные и аудиоданные, кодированные узлом ex306 обработки сигналов, в данные.
[0216] Телевизор ex300 дополнительно включает в себя: узел ex306 обработки сигналов, включающий в себя узел ex304 обработки аудиосигнала и узел ex305 обработки видеосигнала, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные соответственно (которые функционируют в качестве устройства кодирования изображений и устройства декодирования изображений согласно аспектам настоящего изобретения); и узел ex309 вывода, включающий в себя громкоговоритель ex307, который обеспечивает декодированный аудиосигнал, и узел ex308 отображения, который отображает декодированный видеосигнал, такой как устройство отображения. Кроме того, телевизор ex300 включает в себя узел ex317 интерфейса, включающий в себя узел ex312 ввода операции, который принимает ввод операции пользователя. Кроме того, телевизор ex300 включает в себя узел ex310 управления, который управляет в общем каждым составляющим элементом телевизора ex300, и узел ex311 схемы электропитания, который снабжает питанием каждый из элементов. Отличный от узла ex312 ввода операции, узел ex317 интерфейса может включать в себя: мост ex313, который соединяется с внешним устройством, таким как устройство ех218 считывания/записи; узел ex314 гнезда для обеспечения присоединения носителя ex216 записи, такого как карта SD; привод ex315, который должен быть соединен с внешним носителем записи, таким как жесткий диск; и модем ex316, который должен быть соединен с телефонной сетью. Здесь носитель ex216 записи может электрически записывать информацию с использованием элемента энергонезависимой/энергозависимой полупроводниковой памяти для хранения. Составляющие элементы телевизора ex300 соединяются друг с другом по синхронной шине.
[0217] Сначала будет описываться конфигурация, в которой телевизор ex300 декодирует мультиплексированные данные, полученные извне через антенну ex204 и прочие, и воспроизводит декодированные данные. В телевизоре ex300 при операции пользователя через удаленный контроллер ex220 и прочее, узел ex303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные посредством узла ex302 модуляции/демодуляции, под управлением узла ex310 управления, включающего в себя CPU. Кроме того, в телевизоре ex300 узел ex304 обработки аудиосигнала декодирует демультиплексированные аудиоданные, а узел ex305 обработки видеосигнала декодирует демультиплексированные видеоданные, с использованием способа декодирования, описанного в каждом из вариантов осуществления. Узел ex309 вывода обеспечивает вовне декодированный видеосигнал и аудиосигнал соответственно. Когда узел ex309 вывода обеспечивает видеосигнал и аудиосигнал, сигналы могут быть временно сохранены в буферах ex318 и ex319 и других, чтобы сигналы воспроизводились синхронно друг с другом. Кроме того, телевизор ex300 может считывать мультиплексированные данные не через вещание и прочее, а с носителей ex215 и ex216 записи, таких как магнитный диск, оптический диск и карта SD. Далее будет описываться конфигурация, в которой телевизор ex300 кодирует аудиосигнал и видеосигнал и передает данные вовне или записывает данные на носитель записи. В телевизоре ex300 при операции пользователя через удаленный контроллер ex220 и прочее узел ex304 обработки аудиосигнала кодирует аудиосигнал, а узел ex305 обработки видеосигнала кодирует видеосигнал, под управлением узла ex310 управления с использованием способа кодирования, описанного в каждом из вариантов осуществления. Узел ex303 мультиплексирования/демультиплексирования мультиплексирует кодированный видеосигнал и аудиосигнал и обеспечивает вовне результирующий сигнал. Когда узел ex303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы могут быть временно сохранены в буферах ex320 и ex321 и других, чтобы сигналы воспроизводились синхронно друг с другом. Здесь буферов ex318, ex319, ex320 и ex321 может быть множество, как проиллюстрировано, или по меньшей мере один буфер может быть совместно использован в телевизоре ex300. Кроме того, данные могут быть сохранены в буфере, чтобы можно было избежать переполнения и незаполнения системы, например, между узлом ex302 модуляции/демодуляции и узлом ex303 мультиплексирования/демультиплексирования.
[0218] Кроме того, телевизор ех300 может включать в себя конфигурацию для приема ввода AV с микрофона или камеры, отличную от конфигурации для получения аудио- и видеоданных из вещания или носителя записи, и может кодировать полученные данные. Хотя в описании телевизор ex300 может кодировать, мультиплексировать и обеспечивать вовне данные, он может быть способен только принимать, декодировать и обеспечивать данные вовне, но не кодировать, мультиплексировать и обеспечивать данные вовне.
[0219] Кроме того, когда устройство ех218 считывания/записи считывает или записывает мультиплексированные данные с или на носитель записи, один из телевизора ех300 и устройства ех218 считывания/записи может декодировать или кодировать мультиплексированные данные, и телевизор ех300 и устройство ех218 считывания/записи могут совместно использовать декодирование или кодирование.
[0220] В качестве примера ФИГ. 18 иллюстрирует конфигурацию узла ex400 записи/воспроизведения информации, когда данные считываются с оптического диска или записываются на него. Узел ex400 записи/воспроизведения информации включает в себя составляющие элементы ex401, ex402, ex403, ex404, ex405, ex406 и ex407, которые будут описаны в дальнейшем в этом документе. Оптическая головка ex401 излучает лазерное пятно на поверхность записи у носителя ex215 записи, который является оптическим диском, для записи информации и обнаруживает отраженный свет от поверхности записи у носителя ex215 записи для считывания информации. Узел ех402 модуляционной записи электрически возбуждает полупроводниковый лазер, включенный в оптическую головку ех401, и модулирует лазерный свет согласно записанным данным. Узел ex403 демодуляции при воспроизведении усиливает сигнал воспроизведения, полученный посредством электрического обнаружения отраженного света от поверхности записи с использованием фотодетектора, включенного в оптическую головку ex401, и демодулирует сигнал воспроизведения посредством отделения составляющей сигнала, записанной на носителе ex215 записи, чтобы воспроизвести необходимую информацию. Буфер ex404 временно хранит информацию, которую нужно записать на носитель ex215 записи, и информацию, воспроизведенную с носителя ex215 записи. Двигатель ex405 диска вращает носитель ex215 записи. Узел ех406 сервоуправления перемещает оптическую головку ех401 до предопределенной информационной дорожки, управляя при этом приводом вращения двигателя ех405 диска таким образом, чтобы следовать за лазерным пятном. Узел ex407 управления системой осуществляет общее управление узлом ex400 записи/воспроизведения информации. Процессы считывания и записи могут быть реализованы посредством узла ex407 управления системой с использованием различной информации, хранимой в буфере ex404, и генерирования и добавления новой информации по мере необходимости, и посредством узла ex402 модуляционной записи, узла ex403 демодуляции при воспроизведении и узла ex406 сервоуправления, которые записывают и воспроизводят информацию через оптическую головку ex401 во время работы скоординированным образом. Узел ex407 управления системой включает в себя, например, микропроцессор и исполняет обработку посредством побуждения компьютера исполнять программу для считывания и записи.
[0221] Хотя в описании оптическая головка ex401 излучает лазерное пятно, она может выполнять запись с высокой плотностью, с использованием света ближнего поля.
[0222] ФИГ. 19 иллюстрирует носитель ex215 записи, который является оптическим диском. На поверхности записи носителя ex215 записи, направляющие канавки формируются по спирали, и информационная дорожка ex230 записывает, заранее, информацию адреса, указывающую абсолютную позицию на диске, согласно изменению в форме направляющих канавок. Информация адреса включает в себя информацию для определения позиций блоков ex231 записи, которые являются единицей для данных записи. Воспроизведение информационной дорожки ex230 и считывание информации адреса в устройстве, которое записывает и воспроизводит данные, может приводить к определению позиций блоков записи. Кроме того, носитель ex215 записи включает в себя область ex233 записи данных, область ex232 внутренней окружности и область ex234 внешней окружности. Область ex233 записи данных является областью для использования при записи пользовательских данных. Область ex232 внутренней окружности и область ex234 внешней окружности, которые находятся внутри и снаружи области ex233 записи данных соответственно, предназначены для специального использования за исключением записи пользовательских данных. Узел ex400 записи/воспроизведения информации считывает и записывает кодированные аудиоданные, кодированные видеоданные или мультиплексированные данные, полученные посредством мультиплексирования кодированных аудио и видеоданных, из области ex233 записи данных в носителе ex215 записи и на нее.
[0223] Хотя оптический диск, имеющий слой, такой как DVD и BD, описывается в качестве примера в описании, оптический диск не ограничен таким образом и может быть оптическим диском, имеющим многослойную структуру и допускающим запись на часть, отличную от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, например, записи информации с использованием света с цветами разных длин волн в одном и том же участке оптического диска и для записи информации, имеющей разные слои, с различных углов.
[0224] Кроме того, автомобиль ex210, имеющий антенну ex205, может принимать данные из спутника ex202 и других и воспроизводить видео на устройстве отображения, таком как автомобильная навигационная система ex211, установленная в автомобиле ex210, в цифровой системе ex200 вещания. Здесь, конфигурация автомобильной навигационной системы ex211 будет конфигурацией, например, включающей в себя приемный узел GPS из конфигурации, проиллюстрированной на ФИГ. 17. То же самое будет справедливо и для конфигурации компьютера ex111, сотового телефона ex114 и прочих.
[0225] ФИГ. 20A иллюстрирует сотовый телефон ex114, который использует способ кодирования движущихся картинок и способ декодирования движущихся картинок, описанные в вариантах осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; узел ex365 камеры, допускающий захват движущихся и неподвижных изображений; и узел ex358 отображения, такой как, жидкокристаллический дисплей для отображения данных, таких как декодированное видео, захватываемое посредством узла ex365 камеры или принимаемое посредством антенны ex350. Сотовый телефон ех114 дополнительно включает в себя: основной корпус, включающий в себя узел ех366 операционных клавиш; узел ех357 вывода аудио, такой как громкоговоритель для вывода аудио; узел ех356 ввода аудио, такой как микрофон для ввода аудио; узел ех367 памяти для хранения захваченного видео или фотоснимков, записанного аудио, кодированных или декодированных данных принятого видео, фотоснимков, электронной почты или другого; и узел ех364 гнезда, который является узлом интерфейса для носителя записи, который хранит данные таким же образом, что и узел ех367 памяти.
[0226] Далее пример конфигурации сотового телефона ex114 будет описываться со ссылкой на ФИГ. 20B. В сотовом телефоне ex114 главный узел ex360 управления, спроектированный с возможностью полностью управлять каждым узлом основного корпуса, включающим в себя узел ex358 отображения, а также узел ex366 операционных клавиш, взаимно соединяется, через синхронную шину ex370, с узлом ex361 схемы электропитания, узлом ex362 управления операционным вводом, узлом ex355 обработки видеосигнала, узлом ex363 интерфейса камеры, узлом ex359 управления жидкокристаллическим дисплеем (LCD), узлом ex352 модуляции/демодуляции, узлом ex353 мультиплексирования/ демультиплексирования, узлом ex354 обработки аудиосигнала, узлом ex364 гнезда и узлом ex367 памяти.
[0227] Когда клавиша завершения вызова или клавиша питания включается посредством пользовательской операции, узел ex361 схемы электропитания снабжает соответствующие узлы питанием от блока батарей, чтобы активировать сотовый телефон ех114.
[0228] В сотовом телефоне ex114 узел ex354 обработки аудиосигнала преобразует аудиосигналы, собранные посредством узла ex356 речевого ввода в режиме голосового диалога, в цифровые аудиосигналы под управлением главного узла ex360 управления, включающего в себя CPU, ROM и RAM. Затем узел ex352 модуляции/демодуляции выполняет обработку по расширению спектра над цифровыми аудиосигналами, а узел ex351 передачи и приема выполняет цифро-аналоговое преобразование и преобразование частоты над данными, чтобы передать результирующие данные через антенну ex350. Также в сотовом телефоне ex114 узел ex351 передачи и приема усиливает данные, принятые посредством антенны ex350 в режиме голосового диалога, и выполняет преобразование частоты и аналого-цифровое преобразование над данными. Затем узел ex352 модуляции/демодуляции выполняет обработку по обратному расширению спектра над данными, а узел ex354 обработки аудиосигнала преобразует их в аналоговые аудиосигналы, чтобы вывести их через узел ex357 вывода аудио.
[0229] Кроме того, когда передается электронная почта в режиме передачи данных, текстовые данные из электронной почты, введенные посредством операций с узлом ex366 операционных клавиш и прочего основного корпуса, отправляются на основной узел ех360 управления посредством узла ех362 управления операционным вводом. Главный узел ex360 управления побуждает узел ex352 модуляции/демодуляции выполнить обработку по расширению спектра над текстовыми данными, а узел ex351 передачи и приема выполняет цифро-аналоговое преобразование и преобразование частоты над результирующими данными, чтобы передать данные базовой станции ex110 через антенну ex350. Когда принимается электронная почта, обработка, которая является приблизительно обратной относительно обработки для передачи электронной почты, выполняется для принимаемых данных, и результирующие данные обеспечиваются в узел ex358 отображения.
[0230] Когда видео, неподвижные изображения или видео и аудио передаются в режиме передачи данных, узел ех355 обработки видеосигнала сжимает и кодирует видеосигналы, снабжаемые из узла ех365 камеры, с использованием способа кодирования движущихся картинок, показанного в каждом из вариантов осуществления (то есть, функционирует в качестве устройства кодирования изображений согласно аспекту настоящего изобретения), и передает закодированные видеоданные на узел ех353 мультиплексирования/демультиплексирования. В отличие от этого, когда узел ех365 камеры захватывает видео, неподвижные изображения и другое, узел ех354 обработки аудиосигнала кодирует аудиосигналы, полученные узлом ех356 ввода аудио, и передает кодированные аудиоданные в узел ех353 мультиплексирования/демультиплексирования.
[0231] Узел ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, снабжаемые из узла ex355 обработки видеосигнала, и кодированные аудиоданные, снабжаемые из узла ex354 обработки аудиосигнала, с использованием предопределенного способа. Затем, узел ex352 модуляции/демодуляции (узел схемы модуляции/демодуляции) выполняет обработку по расширению спектра над мультиплексированными данными, и узел ex351 передачи и приема выполняет цифро-аналоговое преобразование и преобразование частоты над данными, чтобы передавать результирующие данные через антенну ex350.
[0232] При приеме данных видеофайла, который связан с веб-страницей и другими в режиме передачи данных, или при приеме электронной почты с прикрепленным видео и/или аудио, чтобы декодировать мультиплексированные данные, принятые через антенну ex350, узел ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные на битовый поток видеоданных и битовый поток аудиоданных, и снабжает узел ex355 обработки видеосигнала кодированными видеоданными, а узел ex354 обработки аудиосигнала - кодированными аудиоданными посредством синхронной шины ex370. Узел ех355 обработки видеосигнала декодирует видеосигнал с использованием способа декодирования движущихся картинок, соответствующего способу кодирования движущихся картинок, показанному в каждом из вариантов осуществления (то есть, функционирует в качестве устройства декодирования изображений согласно аспекту настоящего изобретения), и затем узел ex358 отображения отображает, например, видео и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей, посредством узла ex359 управления LCD. Кроме того, узел ex354 обработки аудиосигнала декодирует аудиосигнал, и узел ex357 вывода аудио обеспечивает аудио.
[0233] Кроме того, аналогично телевизору ех300, терминал, такой как сотовый телефон ех114, вероятно, имеет 3 типа конфигураций реализации, включающих в себя не только (i) передающий и приемный терминал, включающий в себя как устройство кодирования, так и устройство декодирования, но и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя система ex200 цифрового вещания принимает и передает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные в описании, мультиплексированные данные могут быть данными, полученными посредством мультиплексирования не аудиоданных, а символьных данных, связанных с видео, в видеоданные, и могут быть не мультиплексированными данными, а самими видеоданными.
[0234] По существу, способ кодирования движущихся картинок и способ декодирования движущихся картинок в каждом из вариантов осуществления может быть использован на любом из описанных устройств и систем. Таким образом, могут быть получены преимущества, описанные в каждом из вариантов осуществления.
[0235] Кроме того, различные модификации и изменения могут быть сделаны в любом из вариантов осуществления в настоящем изобретении.
[0236] [ВАРИАНТ 4 ОСУЩЕСТВЛЕНИЯ]
Видеоданные могут быть сгенерированы посредством переключения, по мере необходимости, между (i) способом кодирования движущихся картинок или устройством кодирования движущихся картинок, показанными в каждом из вариантов осуществления, и (ii) способом кодирования движущихся картинок или устройством кодирования движущихся картинок в соответствии с другим стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1.
[0237] Здесь, когда генерируется множество видеоданных, которое соответствует разным стандартам, а затем декодируется, нужно выбирать способы декодирования, которые соответствуют разным стандартам. Однако, поскольку нельзя определить то, какому стандарту соответствуют каждые из множества видеоданных, которые должны быть декодированы, не может быть выбран надлежащий способ декодирования.
[0238] Ввиду этого, мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и прочих в видеоданные, имеют структуру, включающую в себя идентификационную информацию, указывающую то, какому стандарту соответствуют видеоданные. Конкретная структура мультиплексированных данных, включающих в себя видеоданные, сгенерированные в способе кодирования движущихся картинок и посредством устройства кодирования движущихся картинок, показанного в каждом из вариантов осуществления, будет описана в дальнейшем в этом документе. Мультиплексированные данные являются цифровым потоком в формате транспортного потока MPEG-2.
[0239] ФИГ. 21 иллюстрирует структуру мультиплексированных данных. Как проиллюстрировано на ФИГ. 21, мультиплексированные данные могут быть получены посредством мультиплексирования по меньшей мере одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео фильма, аудиопоток (IG) представляет часть первичного аудио и часть вторичного аудио, которая должна смешиваться с частью первичного аудио, а поток презентационной графики представляет субтитры фильма. Здесь, первичное видео является обычным видео, которое должно быть отображено на экране, а вторичное видео является видео, которое должно быть отображено в меньшем окне в первичном видео. Кроме того, поток интерактивной графики представляет интерактивный экран, который должен быть сгенерирован посредством компоновки компонентов GUI на экране. Видеопоток кодируется в способе кодирования движущихся картинок или посредством устройства кодирования движущихся картинок, показанными в каждом из вариантов осуществления или в способе кодирования движущихся картинок или посредством устройства кодирования движущихся картинок в соответствии с традиционным стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1. Аудиопоток кодируется в соответствии со стандартом, таким как Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD и линейной PCM.
[0240] Каждый поток, включенный в мультиплексированные данные, идентифицируется по PID. Например, 0x1011 выделяется видеопотоку, который должен быть использован для видео фильма, 0x1100-0x111F выделяются аудиопотокам, 0x1200-0x121F выделяются потокам презентационной графики, 0x1400-0x141F выделяются потокам интерактивной графики, 0x1B00-0x1B1F выделяются видеопотокам, которые должны быть использованы для вторичного видео фильма, и 0x1A00-0x1A1F выделяются аудиопотокам, которые должны быть использованы для вторичного аудио, которое должно смешиваться с первичным аудио.
[0241] ФИГ. 22 схематически иллюстрирует то, как мультиплексируются данные. Во-первых, видеопоток ex235, состоящий из видеокадров, и аудиопоток ex238, состоящий из аудиокадров, преобразуются в поток ex236 пакетов PES и поток ex239 пакетов PES, и дополнительно в пакеты ex237 TS и пакеты ex240 TS соответственно. Аналогично, данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразуются в поток ex242 пакетов PES и поток ex245 пакетов PES, и дополнительно в пакеты ex243 TS и пакеты ex246 TS соответственно. Эти пакеты TS мультиплексируются в поток для получения мультиплексированных данных ex247.
[0242] ФИГ. 23 иллюстрирует более подробно то, как видеопоток сохраняется в потоке пакетов PES. Первая строка на ФИГ. 23 показывает поток видеокадров в видеопотоке. Вторая строка показывает поток пакетов PES. Как показано стрелками, обозначенными как yy1, yy2, yy3 и yy4 на ФИГ. 23, видеопоток разделяется на картинки как I-картинки, В-картинки и Р-картинки, каждая из которых является единицей видеопредставления, и картинки хранятся в полезной нагрузке каждого из пакетов PES. Каждый из пакетов PES имеет заголовок PES, и заголовок PES сохраняет временную метку представления (PTS), указывающую время отображения картинки, и временную метку декодирования (DTS), указывающую время декодирования картинки.
[0243] ФИГ. 24 иллюстрирует формат пакетов 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. Исходные пакеты компонуются в мультиплексированных данных, как показано в нижней части ФИГ. 24. Номера, увеличивающиеся с головной части мультиплексированных данных, называются номерами исходных пакетов (SPN).
[0244] Каждый из пакетов TS, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитров и прочих, но также и таблицу ассоциаций программ (PAT), таблицу структуры программ (PMT) и временную отметку программ (PCR). PAT показывает то, что указывает PID в PMT, используемой в мультиплексированных данных, и PID самой PAT регистрируется как ноль. PMT хранит PID потоков видео, аудио, субтитров и другого, включенных в мультиплексированные данные, и информацию атрибутов потоков, соответствующих PID. PMT также имеет различные дескрипторы, связанные с мультиплексированными данными. Дескрипторы имеют такую информацию, как информация управления копированием, показывающая то, разрешено или нет копирование мультиплексированных данных. PCR хранит информацию STC-времени, соответствующую ATS, показывающей, когда пакет PCR передается декодеру для того, чтобы достигать синхронизации между таймером поступления (ATC), то есть временной осью ATS, и системным таймером (STC), то есть временной осью PTS и DTS.
[0245] ФИГ. 25 подробно иллюстрирует структуру данных PMT. Заголовок PMT располагается сверху РМТ. Заголовок PMT описывает длину данных, включенных в PMT, и прочее. Множество дескрипторов, относящихся к мультиплексированным данным, расположено после заголовка PMT. Информация, такая как информация управления копированием, описывается в дескрипторах. После дескрипторов располагается множество фрагментов информации потока, связанной с потоками, включенными в мультиплексированные данные. Каждый фрагмент информации потока включает в себя дескрипторы потоков, каждый из которых описывает информацию, такую как тип потока для идентификации кодека сжатия потока, PID потока и информация атрибутов потока (такая как частота кадров или соотношение сторон). Дескрипторы потоков по числу равны числу потоков в мультиплексированных данных.
[0246] Когда мультиплексированные данные записываются на носитель записи и прочие, они записываются вместе с файлами информации мультиплексированных данных.
[0247] Каждый из файлов информации мультиплексированных данных является управляющей информацией мультиплексированных данных, как показано на ФИГ. 26. Файлы информации мультиплексированных данных находятся в соответствии "один-к-одному" с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту вхождений.
[0248] Как проиллюстрировано на ФИГ. 26, информация мультиплексированных данных включает в себя системную скорость, время начала воспроизведения и время окончания воспроизведения. Системная скорость указывает максимальную скорость передачи, на которой декодер системных целевых объектов, который будет описан ниже, передает мультиплексированные данные в фильтр PID. Интервалы ATS, включенных в мультиплексированные данные, задаются не больше системной скорости. Время начала воспроизведения указывает PTS в видеокадре в заголовке мультиплексированных данных. Интервал одного кадра добавляется к PTS в видеокадре в конце мультиплексированных данных, и PTS устанавливается во время окончания воспроизведения.
[0249] Как показано на ФИГ. 27, фрагмент информации атрибутов регистрируется в информации атрибутов потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждый фрагмент информации атрибутов имеет различную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждый фрагмент информации атрибутов видеопотока переносит информацию, включающую в себя то, какой вид кодека сжатия используется для сжатия видеопотока, а также разрешение, соотношение сторон и частоту кадров фрагментов данных изображений, которые включаются в видеопоток. Каждый фрагмент информации атрибутов аудиопотока переносит информацию, включающую в себя то, какой вид кодека сжатия используется для сжатия аудиопотока, сколько каналов включается в аудиопоток, какой язык поддерживает аудиопоток, и насколько высокой является частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера до того, как проигрыватель воспроизводит информацию.
[0250] В настоящем варианте осуществления мультиплексированные данные, которые должны быть использованы, представляют собой тип потока, включенный в РМТ. Кроме того, когда мультиплексированные данные записываются на носителе записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. Более конкретно, способ кодирования движущихся картинок или устройство кодирования движущихся картинок, описанные в каждом из вариантов осуществления, включают в себя этап или узел для выделения уникальных видеоданных, указывающих информацию, сгенерированную посредством способа кодирования движущихся картинок или устройства кодирования движущихся картинок в каждом из вариантов осуществления, для типа потока, включенного в PMT, или информации атрибутов видеопотока. При этой конфигурации видеоданные, сгенерированные посредством способа кодирования движущихся картинок или устройства кодирования движущихся картинок изображений, описанных в каждом из вариантов осуществления, могут отличаться от видеоданных, которые соответствуют другому стандарту.
[0251] Кроме того, ФИГ. 28 иллюстрирует этапы способа декодирования движущихся картинок согласно настоящему варианту осуществления. На этапе exS100 тип потока, включенный в PMT или информацию атрибутов видеопотока, включенную в информацию мультиплексированных данных, получается из мультиплексированных данных. Затем, на этапе exS101 определяется, указывает ли тип потока или информация атрибутов видеопотока, что мультиплексированные данные генерируются посредством способа кодирования движущихся картинок или устройства кодирования движущихся картинок в каждом из вариантов осуществления. Когда определено, что тип потока или информация атрибутов видеопотока указывает, что мультиплексированные данные генерируются посредством способа кодирования движущихся картинок или устройства кодирования движущихся картинок в каждом из вариантов осуществления, на этапе ехS102 декодирование выполняется посредством выбора опорной картинки или вектора движения из кандидатов согласно способу декодирования движущихся картинок в каждом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывает на соответствие с традиционными стандартами, такими как MPEG-2, MPEG-4 AVC, и VC-1, на этапе ехS103 декодирование выполняется посредством способа декодирования движущихся картинок в соответствии с традиционными стандартами.
[0252] Как таковое, выделение нового уникального значения для типа потока или информации атрибутов видеопотока обеспечивает возможность определения того, могут ли выполнять декодирование способ декодирования движущихся картинок или устройство декодирования движущихся картинок, которые описываются в каждом из вариантов осуществления. Даже когда вводятся мультиплексированные данные, которые соответствуют другому стандарту, могут быть выбраны надлежащий способ или устройство декодирования. Таким образом, становится возможным декодирование информации без какой-либо ошибки. Кроме того, способ или устройство кодирования движущихся картинок или способ или устройство декодирования движущихся картинок в настоящем варианте осуществления могут быть использованы в устройствах и системах, описанных выше.
[0253] [ВАРИАНТ 5 ОСУЩЕСТВЛЕНИЯ]
Каждый из способа кодирования движущихся картинок, устройства кодирования движущихся картинок, способа декодирования движущихся картинок и устройства декодирования движущихся картинок в каждом из вариантов осуществления типично достигается в форме интегральной схемы или большой интегральной (LSI) схемы. В качестве примера LSI, ФИГ. 29 иллюстрирует конфигурацию LSI ex500, которая выполнена на одном кристалле. LSI ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые будут описаны ниже по тексту, и элементы соединяются друг с другом через шину ex510. Узел ex505 схемы электропитания активируется посредством снабжения каждого из элементов питанием, когда включается узел ex505 схемы электропитания.
[0254] Например, когда выполняется кодирование, LSI ex500 принимает AV-сигнал из микрофона ex117, камеры ex113 и прочего через AV-ввод/вывод ex509 под управлением узла ex501 управления, включающего в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока и узел ex512 управления частотой возбуждения. Принимаемый AV-сигнал временно сохраняется во внешней памяти ex511, такой как, SDRAM. Под управлением узла ex501 управления, сохраненные данные сегментируются на участки данных согласно объему и скорости обработки, чтобы передаваться в узел ех507 обработки сигналов. Затем узел ех507 обработки сигналов кодирует аудиосигнал и/или видеосигнал. Здесь кодирование видеосигнала является кодированием, описанным в каждом из вариантов осуществления. Кроме того, узел ех507 обработки сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и ввод-вывод (I/O) ех506 потока обеспечивает мультиплексированные данные вовне. Обеспеченные мультиплексированные данные передаются на базовую станцию ех107 или записываются на носитель ех215 записи. Когда наборы данных мультиплексируются, данные должны быть временно сохранены в буфере ex508 так, что наборы данных являются синхронизированными друг с другом.
[0255] Хотя память ех511 является элементом внешним относительно LSI ех500, она может быть включена в LSI ех500. Буфер ех508 не ограничивается одним буфером, но может состоять из буферов. Кроме того, LSI ex500 можно выполнить одном кристалле или множестве кристаллов.
[0256] Кроме того, хотя узел ex501 управления включает в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока, узел ex512 управления частотой возбуждения, конфигурация узла ex501 управления не ограничивается этой. Например, узел ех507 обработки сигналов может дополнительно включать в себя CPU. Включение другого CPU в узел ех507 обработки сигналов может улучшить скорость обработки. Кроме того, в качестве другого примера, CPU ех502 может служить в качестве узла ех507 обработки сигналов или быть его частью и, например, может включать в себя узел обработки аудиосигнала. В таком случае, узел ех501 управления включает в себя узел ех507 обработки сигналов, или CPU ех502 включает в себя часть узла ех507 обработки сигналов.
[0257] Термином, используемым в данном документе, является LSI, но он также может определяться как интегральная схема (IC), система LSI, супер-LSI или ультра-LSI в зависимости от степени интеграции.
[0258] Кроме того, способы достигать интеграции не ограничиваются LSI, и специальная схема или процессор общего назначения и так далее также позволяет достигать интеграции. Программируемая пользователем вентильная матрица (FPGA), которая может программироваться после изготовления LSI, или реконфигурируемый процессор, который позволяет переконфигурирование соединения или конфигурации LSI, может быть использован для аналогичной цели. Такое программируемое логическое устройство может типично исполнять способ кодирования движущихся картинок и/или способ декодирования движущихся картинок согласно любому из вышеописанных вариантов осуществления посредством загрузки или считывания из памяти и прочего одной или более программ, которые включаются в программное обеспечение или программно-аппаратное обеспечение.
[0259] В будущем, с прогрессом в технологии полупроводников, LSI может заменить совершенно новая технология. Функциональные блоки могут быть интегрированы с использованием этой технологии. Возможно также, что настоящее изобретение будет применяться к биотехнологии.
[0260] [ВАРИАНТ 6 ОСУЩЕСТВЛЕНИЯ]
Когда декодируются видеоданные, сгенерированные в способе кодирования движущихся картинок или посредством устройства кодирования движущихся картинок, описанных в каждом из вариантов осуществления, по сравнению с тем, когда декодируются видеоданные, которые соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, объем обработки, вероятно, возрастает. Таким образом, LSI ex500 должна быть установлена на частоте возбуждения, превышающей частоту CPU ex502, которая должна быть использована, когда видеоданные декодируются в соответствии с традиционным стандартом. Однако, когда частота возбуждения устанавливается выше, увеличивается потребление питания.
[0261] Ввиду этого, устройство декодирования движущихся картинок, такое как телевизор ex300 и LSI ex500, конфигурируется для определения, какому стандарту соответствуют видеоданные, и переключения между частотами возбуждения согласно определенному стандарту. ФИГ. 30 иллюстрирует конфигурацию ex800 в настоящем варианте осуществления. Узел ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения, когда видеоданные генерируются посредством способа кодирования движущихся картинок или устройства кодирования движущихся картинок, описанными в каждом из вариантов осуществления. Затем, узел ех803 переключения частоты возбуждения инструктирует узел ех801 обработки декодирования, который исполняет способ декодирования движущихся картинок, описанный в каждом из вариантов осуществления, декодировать видеоданные. Когда видеоданные соответствуют традиционному стандарту, узел ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем для видеоданных, сгенерированных посредством способа кодирования движущихся картинок или устройства кодирования движущихся картинок, описанных в каждом из вариантов осуществления. Затем, узел ex803 переключения частоты возбуждения инструктирует узел ех802 обработки декодирования, который соответствует традиционному стандарту, декодировать видеоданные.
[0262] Более конкретно, узел ex803 переключения частоты возбуждения включает в себя CPU ex502 и узел ex512 управления частотой возбуждения на ФИГ. 29. Здесь, каждый из узла ех801 обработки декодирования, который исполняет способ декодирования движущихся картинок, описанный в каждом из вариантов осуществления, и узла ех802 обработки декодирования, который соответствует традиционному стандарту, соответствует узлу ех507 обработки сигналов на ФИГ. 29. CPU ex502 определяет, какому стандарту соответствуют видеоданные. Затем, узел ex512 управления частотой возбуждения определяет частоту возбуждения на основе сигнала из CPU ex502. Кроме того, узел ex507 обработки сигналов декодирует видеоданные на основе сигнала от CPU ex502. Например, идентификационная информация, описанная в варианте осуществления 4, вероятно, используется для идентификации видеоданных. Идентификационная информация не ограничивается описанной в варианте осуществления 4, но может быть любой информацией, если эта информация указывает, какому стандарту соответствует видеоданные. Например, если то, какому стандарту соответствуют видеоданные, может быть определено на основе внешнего сигнала для определения того, что видеоданные используются для телевизора или диска и так Далее определение может быть выполнено на основе такого внешнего сигнала. Кроме того, CPU ex502 выбирает частоту возбуждения на основе, например, справочной таблицы, в которой стандарты видеоданных ассоциируются с частотами возбуждения, как показано на ФИГ. 32. Частота возбуждения может быть выбрана посредством сохранения справочной таблицы в буфере ex508 и внутренней памяти LSI и со ссылкой на справочную таблицу посредством CPU ex502.
[0263] ФИГ. 31 иллюстрирует этапы для исполнения способа в настоящем варианте осуществления. Сначала, на этапе exS200, узел ех507 обработки сигналов получает идентификационную информацию из мультиплексированных данных. Затем на этапе exS201 CPU ex502 определяет, сгенерированы ли видеоданные посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления, на основе идентификационной информации. Когда видеоданные генерируются посредством способа кодирования движущихся картинок и устройства кодирования движущихся картинок, описанных в каждом из вариантов осуществления, на этапе exS202, CPU ex502 передает сигнал для установки частоты возбуждения на более высокую частоту возбуждения в узел ех512 управления частотой возбуждения. Затем, узел ex512 управления частотой возбуждения устанавливает частоту возбуждения в более высокую частоту возбуждения. С другой стороны, когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, на этапе exS203, CPU ex502 передает сигнал для установки частоты возбуждения в меньшую частоту возбуждения в узел ex512 управления частотой возбуждения. Затем узел ех512 управления частотой возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем в случае, когда видеоданные сгенерированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом варианте осуществления.
[0264] Кроме того, наряду с переключением частот возбуждения, эффект сбережения питания может быть повышен посредством изменения напряжения, которое должно быть применено к LSI ex500 или к устройству, включающему в себя LSI ex500. Например, когда частота возбуждения устанавливается меньшей, напряжение, которое должно быть применено к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, устанавливается в напряжение ниже, чем в случае, где частота возбуждения устанавливается выше.
[0265] Кроме того, когда объем обработки для декодирования больше, частота возбуждения может устанавливаться большей, а когда объем обработки для декодирования меньше, частота возбуждения может устанавливаться меньшей в качестве способа для установки частоты возбуждения. Таким образом, способ установки не огранивается способами, описанными выше по тексту. Например, когда объем обработки для декодирования видеоданных в соответствии с MPEG-4 AVC превышает объем обработки для декодирования видеоданных, сгенерированных посредством способа кодирования движущихся картинок и устройства кодирования движущихся картинок, описанных в каждом из вариантов осуществления, частота возбуждения, вероятно, задается в обратном порядке относительно установки, описанной выше по тексту.
[0266] Кроме того, способ для установки частоты возбуждения не ограничивается способом для установки частоты возбуждения ниже. Например, когда идентификационная информация указывает, что видеоданные генерируются посредством способа кодирования движущихся картинок и устройства кодирования движущихся картинок, описанных в каждом из вариантов осуществления, напряжение, которое должно быть приложено к LSI ex500 или устройству, включающему в себя LSI ex500, вероятно устанавливается выше. Когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, напряжение, которое должно быть приложено к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, задается меньшим. В качестве другого примера, когда идентификационная информация указывает, что видеоданные генерируются посредством способа кодирования движущихся картинок и устройства кодирования движущихся картинок, описанных в каждом из вариантов осуществления, возбуждение CPU ex502, вероятно, не должно приостанавливаться. Когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, возбуждение CPU ex502, вероятно, приостанавливается в данное время, поскольку CPU ex502 имеет дополнительную производительность обработки. Даже когда идентификационная информация указывает, что видеоданные генерируются посредством способа кодирования движущихся картинок и устройства кодирования движущихся картинок, описанных в каждом из вариантов осуществления, в случае если CPU ex502 имеет дополнительную производительность обработки, возбуждение CPU ex502, вероятно, приостанавливается в данное время. В таком случае, время приостановки, вероятно, устанавливается меньшим времени приостановки в случае, когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1.
[0267] Соответственно, эффект сбережения питания может быть повышен посредством переключения между частотами возбуждения в соответствии со стандартом, которому соответствуют видеоданные. Кроме того, когда LSI ex500 или устройство, включающее в себя LSI ex500, возбуждается с использованием батареи, время работы от батареи может быть продлено за счет эффекта сбережения питания.
[0268] [ВАРИАНТ 7 ОСУЩЕСТВЛЕНИЯ]
Возникают случаи, когда множество видеоданных, которое соответствует различным стандартам, обеспечивается в устройства и системы, такие как телевизор и сотовый телефон. Для того, чтобы обеспечивать возможность декодирования множества видеоданных, которые соответствуют различным стандартам, узел ex507 обработки сигналов LSI ex500 должен соответствовать различным стандартам. Однако, увеличение масштаба схемы LSI ex500 и увеличение стоимости появляется с индивидуальным использованием узлов ex507 обработки сигналов, которые соответствуют соответствующим стандартам.
[0269] Ввиду этого, предложена конфигурация, в которой узел обработки декодирования, для реализации способа декодирования движущихся картинок, описанного в каждом из вариантов осуществления, и узел обработки декодирования, который соответствует традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, частично используются совместно. Ex900 на ФИГ. 33A показывает пример этой конфигурации. Например, способ декодирования движущихся картинок, описанный в каждом из вариантов осуществления, и способ декодирования движущихся картинок, который соответствует MPEG-4 AVC, имеют, частично совместно, сведения по обработке, такой как энтропийное кодирование, обратное квантование, фильтрация для удаления блочности и предсказание с компенсацией движения. Сведения по обработке, которые должны быть совместно использованы, вероятно, включают в себя использование узла ex902 обработки декодирования, который соответствует MPEG-4 AVC. В отличие от этого, специализированный узел ех901 обработки декодирования возможно, используется для другой обработки, которая уникальна для аспекта настоящего изобретения и не соответствует MPEG-4 AVC. Поскольку аспект настоящего изобретения характеризуется энтропийным декодированием и обратным квантованием, в частности, например, специализированный узел ех901 обработки декодирования используется для энтропийного декодирования и обратного квантования. Иначе, узел обработки декодирования вероятно совместно используется для одного из фильтрации для удаления блочности, компенсации движения и обратного преобразования частоты или для всей обработки. Узел обработки декодирования для реализации способа декодирования движущихся картинок, описанного в каждом из вариантов осуществления, может быть совместно использован для обработки, которая должна быть совместно использована, и специализированный узел обработки декодирования может использоваться для обработки, уникальной для MPEG-4 AVC.
[0270] Кроме того, ex1000 на ФИГ. 33B показывает другой пример, в котором обработка совместно используется частично. Этот пример использует конфигурацию, включающую в себя специализированный узел ex1001 обработки декодирования, который поддерживает обработку, уникальную для аспекта настоящего изобретения, специализированный узел ex1002 обработки декодирования, который поддерживает обработку, уникальную для другого традиционного стандарта, и узел ex1003 обработки декодирования, который поддерживает обработку, которая должна быть совместно использована между способом декодирования движущихся картинок согласно аспекту настоящего изобретения и традиционным способом декодирования движущихся картинок. Здесь, специализированные узлы ex1001 и ex1002 обработки декодирования не обязательно являются специальными для обработки согласно аспекту настоящего изобретения и обработки по традиционному стандарту, соответственно, и могут быть узлами, допускающими реализацию общей обработки. Кроме того, конфигурация настоящего варианта осуществления может быть реализована посредством LSI ex500.
[0271] Так же, уменьшение масштаба схемы LSI и сокращение затрат возможно за счет совместного использования узла обработки декодирования для обработки, которая должна совместно использоваться между способом декодирования движущихся картинок согласно аспекту настоящего изобретения и способом декодирования движущихся картинок в соответствии с традиционным стандартом.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
[0272] Настоящее изобретение применимо к, например, телевизионным приемникам, цифровым записывающим видеоустройствам, автомобильным навигационным системам, мобильным телефонам/ цифровым камерам, цифровым видеокамерам и так далее.
СПИСОК ССЫЛОЧНЫХ ПОЗИЦИЙ
[0273] 101, 404 Узел установки матрицы квантования
102 Кодер матрицы квантования
103 Узел сегментирования на блоки
104 Вычитатель
105 Узел преобразования
106 Узел квантования
107 Кодер коэффициентов
108, 305 Сумматор
109, 304 Узел обратного преобразования
110, 303 Узел обратного квантования
111 Узел предсказания
112, 306 Память кадров
201 Узел установки QMatrixFlag
202 Кодер QMatrixFlag
203 Узел установки SPS_QMatrix_PresentFlag
204 Кодер SPS_QMatrix_PresentFlag
205 Узел установки PPS_QMatrix_PresentFlag
206 Кодер PPS_QMatrix_PresentFlag
207 Узел установки CopyMatrixFlag
208 Кодер CopyMatrixFlag
209 Узел установки CopyMatrixID
210 Кодер CopyMatrixID
211 Кодер коэффициентов матрицы
220 Кодер данных матрицы
301 Декодер коэффициентов
302 Декодер матрицы квантования
401 Декодер QMatrixFlag QMatrixFlag
402 Декодер SPS_QMatrix_PresentFlag
403 Декодер PPS_QMatrix_PresentFlag
405 Декодер CopyMatrixFlag
406 Декодер CopyMatrixID
407 Декодер коэффициентов матрицы
420 Декодер данных матрицы