Область техники
[0001] Настоящее изобретение относится к способам кодирования изображения и способам декодирования изображения.
Предшествующий уровень техники
[0002] В последние годы, с быстрым продвижением цифровых технологий видео аппаратуры, появилось больше возможностей для сжатия-кодирования видеосигналов (временных последовательностей движущихся изображений) и записи результирующих видеосигналов на носитель записи, такой как цифровой универсальный диск (DVD) или жесткий диск, или распределения их по сети. Примером стандартов кодирования изображения является H.264/AVC (MPEG-4 AVC). Стандарт высокоэффективного кодирования изображения (HEVC) был недавно исследован в качестве стандарта нового поколения (см., например, непатентный документ 1).
Перечень ссылок
Непатентная литература
[0003] [Непатентный документ 1] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27 Apr. - 7 May 2012 JCTVC-11003_d4.doc, High efficiency video coding (HEVC) text specification draft 7 http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v5.zip
Сущность изобретения
Техническая задача
[0004] Для такого способа кодирования изображения и способа декодирования изображения требовалось уменьшить объем обработки при одновременном подавлении ухудшения эффективности кодирования.
[0005] Настоящее изобретение обеспечивает способ кодирования изображения и способ декодирования изображения, каждый из которых способен уменьшать объем обработки при одновременном подавлении ухудшения эффективности кодирования.
Решение задачи
[0006] Для решения вышеуказанной задачи, согласно аспекту настоящего изобретения, предложен способ кодирования изображения с использованием арифметического кодирования, причем способ кодирования изображения, включает в себя: выполнение арифметического кодирования над первым флагом, который указывает, является ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов большим, чем 1; и выполнение арифметического кодирования над вторым флагом, который указывает, является ли абсолютное значение большим, чем 2, при этом, при выполнении арифметического кодирования над первым флагом и выполнении арифметического кодирования над вторым флагом, определяется, включает ли в себя непосредственно предшествующий блок коэффициентов, который был кодирован непосредственно перед целевым блоком коэффициентов, коэффициент, имеющий абсолютное значение большее, чем пороговое значение, и контекст, подлежащий использованию в арифметическом кодировании над первым флагом и контекст, подлежащий использованию в арифметическом кодировании над вторым флагом выбираются на основе результата определения.
[0007] Эти общие и специфические аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, такого как CD-ROM, или любой комбинации систем, способов, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.
Предпочтительные эффекты изобретения
[0008] Настоящее изобретение обеспечивает способ кодирования изображения и способ декодирования изображения, каждый из которых способен уменьшать объем обработки при одновременном подавлении ухудшения эффективности кодирования.
Краткое описание чертежей
[0009]
Фиг. 1 - блок-схема устройства кодирования изображения согласно варианту осуществления 1.
Фиг. 2 - блок-схема последовательности операций кодирования изображения согласно варианту осуществления 1 изображения.
Фиг. 3 - блок-схема блока кодирования c переменной длиной слова согласно варианту осуществления 1.
Фиг. 4 - блок-схема последовательности операций кодирования c переменной длиной слова согласно варианту осуществления 1.
Фиг. 5 - блок-схема блока кодирования уровня согласно варианту осуществления 1.
Фиг. 6 - блок-схема последовательности операций кодирования уровня согласно варианту осуществления 1.
Фиг. 7 - блок-схема последовательности операций кодирования greater1_flag согласно варианту осуществления 1.
Фиг. 8 - блок-схема последовательности операций кодирования greater2_flag согласно варианту осуществления 1.
Фиг. 9 - блок-схема последовательности операций кодирования остатка согласно варианту осуществления 1.
Фиг. 10 - блок-схема последовательности операций выбора набора контекстов согласно варианту осуществления 1.
Фиг. 11 - блок-схема последовательности операций выбора контекста greater1_flag согласно варианту осуществления 1.
Фиг. 12 - таблица, показывающая пример количеств контекстов согласно варианту осуществления 1.
Фиг. 13 - блок-схема последовательности операций бинаризации остатка согласно варианту осуществления 1.
Фиг. 14 - блок-схема последовательности операций определения префикса и суффикса определения согласно варианту осуществления 1.
Фиг. 15A - таблица, показывающая пример отношений соответствия между структурным элементом (бином) остатка, префикса и суффикса согласно варианту осуществления 1.
Фиг. 15B - таблица, показывающая пример отношений соответствия между бином остатка, префикса и суффикса согласно варианту осуществления 1.
Фиг. 15C - таблица, показывающая пример отношений соответствия между бином остатка, префикса и суффикса согласно варианту осуществления 1.
Фиг. 16 - блок-схема последовательности операций вывода бина префикса согласно варианту осуществления 1.
Фиг. 17 - блок-схема последовательности операций вывода бина суффикса согласно варианту осуществления 1.
Фиг. 18 - блок-схема последовательности операций обновления параметров бинаризации согласно варианту осуществления 1.
Фиг. 19 - таблица, показывающая результаты оценки способа кодирования изображения согласно варианту осуществления 1.
Фиг. 20 - блок-схема устройства декодирования изображения согласно варианту осуществления 2.
Фиг. 21 - блок-схема последовательности операций декодирования изображения согласно варианту осуществления 2.
Фиг. 22 - блок-схема блока декодирования c переменной длиной слова согласно варианту осуществления 2.
Фиг. 23 - блок-схема последовательности операций декодирования c переменной длиной слова согласно варианту осуществления 2.
Фиг. 24 - блок-схема блока декодирования уровня согласно варианту осуществления 2.
Фиг. 25 - блок-схема последовательности операций декодирования уровня согласно варианту осуществления 2.
Фиг. 26 - блок-схема последовательности операций декодирования greater1_flag согласно варианту осуществления 2.
Фиг. 27 - блок-схема последовательности операций декодирования greater2_flag согласно варианту осуществления 2.
Фиг. 28 - блок-схема последовательности операций декодирования остатка согласно варианту осуществления 2.
Фиг. 29 - блок-схема последовательности операций многозначного преобразования остатка согласно варианту осуществления 2.
Фиг. 30 - блок-схема последовательности операций декодирования префикса согласно варианту осуществления 2.
Фиг. 31 - блок-схема последовательности операций декодирования суффикса и объединения префикса и суффикса согласно варианту осуществления 2.
Фиг. 32A - блок-схема последовательности операций способа кодирования изображения согласно варианту осуществления 1.
Фиг. 32B - блок-схема последовательности операций кодирования первого флага и кодирования второго флага согласно варианту осуществления 1.
Фиг. 33A - блок-схема последовательности операций способа декодирования изображения согласно варианту осуществления 2.
Фиг. 33B - блок-схема последовательности операций декодирования первого флага и декодирования второго флага согласно варианту осуществления 2.
Фиг. 34 - блок-схема блока кодирования уровня согласно варианту осуществления 3.
Фиг. 35 - блок-схема последовательности операций кодирования уровня согласно варианту осуществления 3.
Фиг. 36 - блок-схема последовательности операций выбора набора контекстов согласно варианту осуществления 3.
Фиг. 37 - таблица, показывающая результаты оценки способа кодирования изображения согласно варианту осуществления 3.
Фиг. 38 - блок-схема устройства декодирования уровня согласно варианту осуществления 4.
Фиг. 39 - блок-схема последовательности операций декодирования уровня согласно варианту осуществления 4.
Фиг. 40 - общая конфигурация системы предоставления контента для реализации услуг распространения контента.
Фиг. 41 - общая конфигурация цифровой широковещательной системы.
Фиг. 42 - блок-схема, иллюстрирующая пример конфигурации телевизора.
Фиг. 43 - блок-схема, иллюстрирующая пример конфигурации блока воспроизведения/записи информации, который считывает и записывает информацию с и на носитель записи, которым является оптический диск.
Фиг. 44 показывает пример конфигурации носителя записи, которым является оптический диск.
Фиг. 45A показывает пример сотового телефона.
Фиг. 45B - блок-схема, показывающая пример конфигурации сотового телефона.
Фиг. 46 иллюстрирует структуру мультиплексированных данных.
Фиг. 47 схематично показывает, каким образом каждый поток мультиплексирован в мультиплексированных данных.
Фиг. 48 более подробно показывает, как видеопоток сохранен в потоке PES-пакетов.
Фиг. 49 показывает структуру пакетов TS и исходных пакетов в мультиплексированных данных.
Фиг. 50 показывает структуру данных РМТ.
Фиг. 51 показывает внутреннюю структуру информации мультиплексированных данных.
Фиг. 52 показывает внутреннюю структуру информации атрибутов потока.
Фиг. 53 показывает этапы для идентификации видео данных.
Фиг. 54 показывает пример конфигурации интегральной схемы для реализации способа кодирования движущегося изображения и способа декодирования движущегося изображения в соответствии с каждым из вариантов осуществления.
Фиг. 55 показывает конфигурацию для переключения между частотами возбуждения.
Фиг. 56 показывает этапы для идентификации видео данных и переключения между частотами возбуждения.
Фиг. 57 показывает пример справочной таблицы, в которой стандарты видео данных ассоциированы с частотами возбуждения.
Фиг. 58A - диаграмма, показывающая пример конфигурации для совместного использования модуля блока обработки сигналов.
Фиг. 58B - диаграмма, показывающая другой пример конфигурации для совместного использования модуля блока обработки сигналов.
Описание вариантов осуществления
[0010] Базовые знания, формирующие основу настоящего изобретения
По отношению к традиционному способу кодирования изображения, изобретатели обнаружили следующую проблему.
[0011] Способ кодирования изображения в соответствии с настоящим стандартом HEVC (см., например, непатентный документ 1) включает в себя этап предсказания кодированного изображения, этап вычисления разности между предсказанным изображением и целевым изображением, этап преобразования результирующего дифференциального изображение в коэффициенты частоты и этап выполнения арифметического кодирования над коэффициентами частоты. В арифметическом кодировании, коэффициенты в блоке коэффициентов, подлежащем кодированию (блоке коэффициентов кодирования), кодируются последовательно в порядке от коэффициента более высокой частоты к компоненту более низкой частоты. Здесь контекст выбирается в соответствии с кодированным коэффициентом, и арифметическое кодирование выполняется над коэффициентом, подлежащем кодированию (коэффициентом кодирования), в соответствии с вероятностью появления символа, определяемой на основе выбранного контекста.
[0012] В обычном изображении коэффициент с более низкочастотным компонентом, вероятно, будет иметь большее значение. Поэтому, возможно, будет вызвана вероятность возникновения символа, имеющего смещение, путем определения контекста со ссылкой на кодированный коэффициент (коэффициент с более высокой частотой, чем частота коэффициента кодирования). Например, если кодированный коэффициент (коэффициент с более высокой частотой, чем частота коэффициента кодирования) имеет большое значение, то существует высокая вероятность того, что коэффициент кодирования также имеет большое значение. Поэтому устройство кодирования изображения может уменьшить результирующую величину кодирования с использованием контекста для большого значения. В настоящем стандарте HEVC, подсчитывается количество кодированных коэффициентов, каждый из которых имеет абсолютное значение 2 или более, и контекст для коэффициента кодирования определяется в соответствии с количеством.
[0013] Однако авторы изобретения обнаружили, что традиционный способ кодирования изображений требует подсчитывать количество кодированных коэффициентов, каждый из которых имеет абсолютное значение 2 или более, и, следовательно, должен иметь обработку для подсчета и резистор, который хранит значение счета.
[0014] Для того чтобы решить вышеуказанную проблему, в соответствии с аспектом настоящего изобретения предложен способ кодирования изображения с использованием арифметического кодирования, причем способ кодирования изображения включает в себя: выполнение арифметического кодирования над первым флагом, который указывает, является ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов большим, чем 1; и выполнение арифметического кодирования над вторым флагом, указывающим, является ли абсолютное значение большем, чем 2, при этом, при выполнении арифметического кодирования над первым флагом и выполнении арифметического кодирования над вторым флагом, определяется, включает ли в себя непосредственно предшествующий блок коэффициентов, который был кодирован непосредственно перед целевым блоком коэффициентов, коэффициент, имеющий абсолютное значение большее, чем пороговое значение, и контекст, подлежащий использованию в арифметическом кодировании над первым флагом и контекст, подлежащий использованию в арифметическом кодировании над вторым флагом выбираются на основе результата определения.
[0015] Таким образом, способ кодирования изображения выбирает контекст в соответствии с тем, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение. В результате, способ кодирования изображения может уменьшить объем обработки по сравнению со случаем, когда контекст выбирается в зависимости от количества коэффициентов. Кроме того, способ кодирования изображения может подавлять снижение эффективности кодирования и уменьшать объем обработки.
[0016] Например, возможно, что при выполнении арифметического кодирования над первым флагом и выполнении арифметического кодирования над вторым флагом, упомянутое определение выполняется на основе переменной, генерируемой в арифметическом кодировании над непосредственно предшествующим блоком коэффициентов.
[0017] Таким образом, способ кодирования изображения может уменьшить объем обработки путем выполнения выбора текста на основе переменной, которая была использована в другой обработке.
[0018] Например, также возможно, что способ кодирования изображения дополнительно включает в себя преобразование в двоичное представление (бинаризацию) остатка в соответствии с таблицей преобразования, назначенной параметром бинаризации из числа множества таблиц преобразования, когда абсолютное значение целевого коэффициента больше, чем два, причем остаток является значением, полученным путем вычитания 3 из абсолютного значения, при этом параметр бинаризации определяется в соответствии с тем, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение, и при этом переменная является параметром бинаризации.
[0019] Например, дополнительно возможно, что пороговое значение равно 1.
[0020] В соответствии с другим аспектом настоящего изобретения предложен способ декодирования изображения с использованием арифметического декодирования, причем способ декодирования изображения включает в себя: выполнение арифметического декодирования над первым флагом, который указывает, является ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов большим, чем 1; и выполнение арифметического декодирования над вторым флагом, который указывает, является ли абсолютное значение большим, чем 2, при этом, при выполнении арифметического декодирования над первым флагом и выполнении арифметического декодирования над вторым флагом, определяется, включает ли в себя непосредственно предшествующий блок коэффициентов, который был декодирован непосредственно перед целевым блоком коэффициентов, коэффициент, имеющий абсолютное значение большее, чем пороговое значение, и контекст, подлежащий использованию в арифметическом декодировании над первым флагом и контекст, подлежащий использованию в арифметическом декодировании над вторым флагом выбираются на основе результата определения.
[0021] Таким образом, способ декодирования изображения выбирает контекст в соответствии с тем, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение. В результате, способ декодирования изображения может уменьшить объем обработки по сравнению со случаем, когда контекст выбран в зависимости от количества коэффициентов. Кроме того, способ декодирования изображения может подавлять снижение эффективности кодирования и уменьшать объем обработки.
[0022] Например, возможно, что при выполнении арифметического декодирования над первым флагом и выполнение арифметического декодирования над вторым флагом, упомянутое определение выполняется на основе переменной, генерируемой в арифметическом декодировании над непосредственно предшествующим блоком коэффициентов.
[0023] Таким путем способ декодирования изображения может уменьшить объем обработки, выполняя выбор текста на основе переменной, которая была использована в другой обработке.
[0024] Например, также возможно, что способ декодирования изображения дополнительно включает в себя: преобразование остатка в многозначную величину в соответствии с таблицей преобразования, назначенной параметром бинаризации, из числа множества таблиц преобразования, когда абсолютное значение целевого коэффициента больше, чем 2, при этом остаток является значением, полученным путем вычитания 3 из абсолютного значения; и определение параметра бинаризации в соответствии с тем, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение, при этом переменная является параметром бинаризации.
[0025] Например, дополнительно возможно, что пороговое значение равно 1.
[0026] Согласно еще одному аспекту настоящего изобретения, предложено устройство кодирования изображения, которое выполняет арифметическое кодирование, причем устройство кодирования изображения содержит: схему управления и средство хранения, доступное из схемы управления, при этом схема управления исполняет способ кодирования изображения по пункту 1 формулы изобретения.
[0027] При этом устройство декодирования изображения выбирает контекст в соответствии с тем, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение. В результате, устройство декодирования изображения может уменьшить объем обработки по сравнению со случаем, когда контекст выбирается в соответствии с количеством коэффициентов. Кроме того, устройство кодирования изображения может подавлять снижение эффективности кодирования и уменьшать объем обработки.
[0028] Согласно еще одному аспекту настоящего изобретения, предложено устройство декодирования изображения, которое выполняет арифметическое декодирование, причем устройство декодирования изображения включает в себя: схему управления и средство хранения, доступное из схемы управления, причем схема управления исполняет способ декодирования изображения по пункту 5 формулы изобретения.
[0029] При этом устройство декодирования изображения выбирает контекст в соответствии с тем, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение. В результате, устройство декодирования изображения может уменьшить объем обработки по сравнению со случаем, когда контекст выбирается в соответствии с количеством коэффициентов. Кроме того, устройство декодирования изображения может подавлять снижение эффективности кодирования и уменьшать объем обработки.
[0030] Согласно еще одному аспекту настоящего изобретения, предложено устройство кодирования и декодирования изображения, включающее в себя вышеописанные устройство кодирования изображения и устройство декодирования изображения.
[0031] Эти общие и конкретные аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, такого как CD-ROM, или любой комбинации систем, способов, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.
[0032] Далее, некоторые примерные варианты осуществления устройства кодирования изображения и устройства декодирования изображения описаны со ссылкой на прилагаемые чертежи.
[0033] Каждый из примерных вариантов осуществления, описанных ниже, показывает конкретный пример настоящего изобретения. Численные значения, формы, материалы, структурные элементы, расположение и соединение структурных элементов, этапов, порядок обработки этапов и т.д., представленные в следующих примерных вариантах осуществления, являются лишь примерами и, следовательно, не ограничивают настоящее изобретение. Поэтому среди структурных элементов в следующих примерных вариантах осуществления структурные элементы, не упомянутые в любом из независимых пунктов формулы изобретения, описываются как произвольные структурные элементы.
[0034] (Вариант осуществления 1)
В варианте осуществления 1 описан вариант осуществления устройства кодирования изображения.
[0035] <Общая структура>
Фиг. 1 - это блок-схема структуры устройства кодирования изображения в соответствии с вариантом осуществления 1.
[0036] Устройство 100 кодирования изображения, показанное на фиг. 1, кодирует входное изображение 121, чтобы генерировать кодированный поток 125 (кодированный битовый поток). Устройство 100 кодирования изображения включает в себя модуль 101 разделения на блоки кодирования, модуль 102 вычитания, модуль 103 преобразования, модуль 104 кодирования c переменной длиной слова, модуль 105 обратного преобразования, модуль 106 суммирования, память 107 кадров и модуль 108 предсказания.
[0037] <Обработка (Общие сведения)>
Далее, со ссылкой на фиг. 2 описывается общий поток кодирования.
[0038] (Этап S101)
Модуль 101 разделения на блоки кодирования делит входное изображение 121 на блоки, подлежащие кодированию (блоки кодирования), 122, и последовательно подает блоки 122 кодирования как на модуль 102 вычитания, так и на модуль 108 предсказания. Здесь каждый из блоков 122 кодирования имеет переменный размер, и модуль 101 разделения на блоки кодирования, таким образом, обращается к особенностям входного изображения 121, чтобы разделить входное изображение 121 на блоки 122 кодирования. Например, один блок 122 кодирования имеет минимально горизонтальные 4 пикселя х вертикальные 4 пикселя и максимально горизонтальные 32 пикселя х вертикальные 32 пикселя.
[0039] (Этап S102)
Модуль 108 предсказания генерирует блок 129 предсказания с использованием блока 122 кодирования и декодированного изображения 128, сохраненного в памяти 107 кадров.
[0040] (Этап S103)
Модуль 102 вычитания генерирует дифференциальный блок 123, который представляет собой разность между блоком 122 кодирования и блоком 129 предсказания.
[0041] (Этап S104)
Модуль 103 преобразования преобразует дифференциальный блок 123 в коэффициенты 124 частоты.
[0042] (Этап S105)
Модуль 104 кодирования c переменной длиной слова выполняет кодирование переменной длины над коэффициентами 124 частоты для генерации кодированного потока 125.
[0043] (Этап S106)
Модуль 105 обратного преобразования преобразует коэффициенты 124 частоты в пиксельные данные для восстановления дифференциального блока 126.
[0044] (Этап S107)
Модуль 106 суммирования суммирует восстановленный дифференциальный блок 126 и блок 129 предсказания вместе для генерации декодированного блока 127 и сохраняет, в качестве декодированного изображения 128, генерированный декодированный блок 127 в памяти 107 кадров.
[0045] (Этап S108)
Обработка от этапа S102 до этапа S107 повторяется, пока все блоки кодирования в целевом изображении, подлежащем кодированию, не будут закодированы.
[0046] Ниже более подробно описан модуль 104 кодирования c переменной длиной слова.
[0047] <Структура модуля 104 кодирования c переменной длиной слова>
Фиг. 3 - это блок-схема, показывающая структуру модуля 104 кодирования c переменной длиной слова.
[0048] В настоящем варианте осуществления модуль 104 кодирования c переменной длиной слова кодирует целевой коэффициент 124 частоты (в дальнейшем упоминается также просто, как "коэффициент") на основе пяти параметров: significant_flag, greater1_flag, greater2_flag, остаток и sign_flag.
[0049] significant_flag - это флаг, указывающий, равен ли 0 соответствующий коэффициент. Если significant_flag имеет значение 0, это означает, что коэффициент равен 0. Если significant_flag имеет значение 1, это означает, что коэффициент не равен 0.
[0050] greater1_flag существует только тогда, когда significant_flag имеет значение 1 (другими словами, коэффициент не равен 0). greater1_flag указывает, является ли абсолютное значение коэффициента равным 2 или более (другими словами, больше, чем 1). Если greater1_flag имеет значение 0, это означает, что абсолютное значение равно 1. Если greater1_flag имеет значение 1, это означает, что абсолютное значение равно 2 или более.
[0051] greater2_flag существует только тогда, когда greater1_flag имеет значение 1 (другими словами, коэффициент имеет абсолютное значение 2 или больше). greater2_flag указывает, является ли абсолютное значение коэффициента равным 3 или более (другими словами, больше, чем 2). Если greater2_flag имеет значение 0, это означает, что абсолютное значение равно 2. Если greater2_flag имеет значение 1, это означает, что абсолютное значение равно 3 или более.
[0052] Остаток существует только тогда, когда greater2_flag имеет значение 1 (другими словами, абсолютное значение равно 3 или более). Остаток указывает значение, полученное путем вычитания 3 из абсолютного значения.
[0053] sign_flag существует только тогда, когда significant_flag имеет значение 1 (другими словами, коэффициент не равен 0). sign_flag указывает, имеет ли коэффициент отрицательное значение (другими словами, является ли значение коэффициента отрицательным или положительным). Если sign_flag имеет значение 0, это означает, что коэффициент имеет положительное значение. Если sign_flag имеет значение 1, это означает, что коэффициент имеет отрицательное значение.
[0054] Как показано на фиг. 3, модуль 104 кодирования c переменной длиной слова включает в себя модуль 131 разделения на блоки коэффициентов, модуль 132 кодирования significant_flag, модуль 133 кодирования уровня и модуль 134 кодирования sign_flag.
[0055] Модуль 132 кодирования significant_flag кодирует significant_flag. Модуль 133 кодирования уровня кодирует greater1_flag, greater2_flag и остаток. Модуль 134 кодирования sign_flag кодирует sign_flag.
[0056] <Обработка (Кодирование переменной длины)>
Далее, со ссылкой на фиг. 4, описывается поток кодирования c переменной длиной слова.
[0057] (Этап S121)
Модуль 131 разделения на блоки коэффициентов делит целевой блок кодирования (коэффициенты 124 частоты) на блоки коэффициентов, каждый из которых имеет 4 пикселя х 4 пикселя (далее также упоминается как "4х4 блоки коэффициентов"). Более конкретно, когда целевой блок кодирования имеет размер 32х32, то модуль 131 разделения на блоки коэффициентов делит его горизонтально на 8 частей и вертикально на 8 частей. Когда целевой блок кодирования имеет размер 4х4, модуль 131 разделения на блоки коэффициентов не делит такой блок. Последующая обработка от этапа S122 до этапа S124 выполняется для каждого из блоков коэффициентов. Блоки коэффициентов обрабатываются последовательно в порядке от блока коэффициентов, имеющего более высокий компонент, к блоку коэффициентов, имеющему более низкий компонент.
[0058] (Этап S122)
Модуль 132 кодирования significant_flag кодирует significant_flag каждого из коэффициентов, включенных в целевой блок коэффициентов.
[0059] (Этап S123)
Модуль 133 кодирования уровня кодирует greater1_flag, greater2_flag и остаток каждого из коэффициентов, включенных в целевой блок коэффициентов.
[0060] (Этап S124)
Модуль 134 кодирования sign_flag кодирует sign_flag каждого из коэффициентов, включенных в целевой блок коэффициентов.
[0061] (Этап S125)
Обработка от этапа S122 до этапа S124 повторяется, пока все блоки коэффициентов в целевом блоке кодирования не будут обработаны.
[0062] Ниже приведено более подробное описание модуля 133 кодирования уровня.
[0063] <Структура модуля 133 кодирования уровня>
Фиг. 5 - это блок-схема, показывающая структуру модуля 133 кодирования уровня. Как показано на фиг. 5, модуль 133 кодирования уровня включает в себя модуль 141 установки greater1_flag, модуль 142 установки greater2_flag, модуль 143 установки остатка, модуль 144 обновления параметра бинаризации, модуль 145 выбора наборов контекста, память 146 greater1_flag, модуль 147 выбора контекста greater1_flag, память 148 контекста greater1_flag, модуль 149 выбора контекста greater2_flag, память 150 контекста greater2_flag, модуль 151 арифметического кодирования и модуль 152 бинаризации остатка. Модуль 152 бинаризации остатка включает в себя модуль 153 определения префикса-суффикса, модуль 154 вывода структурного элемента (бина) суффикса 154 и модуль 155 вывода бина префикса.
[0064] Модуль 133 кодирования уровня сначала выбирает соответствующие наборы контекста, подлежащие использованию в арифметическом кодировании над greater1_flag и greater2_flag. Затем модуль 133 кодирования уровня кодирует greater1_flag, greater2_flag и остаток последовательно в порядке. Перед арифметическим кодированием модуль 133 кодирования уровня преобразует остаток от многозначного сигнала в бинаризованный сигнал (бин). При этом модуль 133 кодирования уровня адаптивно изменяет длину бинаризованного сигнала (бина) на основе параметра бинаризации (cParam). Модуль 133 кодирования уровня также использует этот параметр бинаризации, чтобы адаптивно выбирать наборы контекста.
[0065] <Обработка (Кодирование уровня)>
Далее, со ссылкой на фиг. 6-9, поток кодирования, выполняемого модулем 133 кодирования уровня, описывается более подробно. Фиг. 6 - это блок-схема последовательности операций кодирования, выполняемого модулем 133 кодирования уровня.
[0066] (Этап S141)
Модуль 145 выбора наборов контекста устанавливает соответствующие количества наборов контекста, подлежащие использованию в арифметическом кодировании над greater1_flag и greater2_flag. Этот этап будет описан ниже более подробно.
[0067] (Этап S142)
Модуль 144 обновления параметра бинаризации инициализирует параметр бинаризации (cParam) в 0. На этом этапе cParam устанавливается в 0 в начале целевого 4х4 блока коэффициентов. Следует отметить, что этапы S141 и S142 выполняются один раз для целевого блока коэффициентов. Однако следующие этапы с этапа S143 выполняются для каждого из коэффициентов.
[0068] (Этап S143)
Модуль 133 кодирования уровня кодирует greater1_flag каждого из коэффициентов, включенных в целевой блок коэффициентов. Фиг. 7 - это блок-схема последовательности операций, поясняющая этот этап более подробно.
[0069] (Этап S151)
Модуль 141 установки greater1_flag определяет, является ли абсолютное значение целевого коэффициента (коэффициента, подлежащего обработке) равным 1 или более. Если абсолютное значение равно 1 или более, то greater1_flag кодируется на этапах S152 - S154. Если абсолютное значение равно 0, greater1_flag не кодируется.
[0070] (Этап S152)
Если абсолютное значение целевого коэффициента равно 2 или более, то модуль 141 установки greater1_flag устанавливает greater1_flag в 1. Если абсолютное значение равно 1, то модуль 141 установки устанавливает greater1_flag в 0.
[0071] (Этап S153)
Модуль 147 выбора контекста greater1_flag устанавливает количество контекстов на основе количества наборов контекста, выбранного на этапе S141. Этот этап будет описан ниже более подробно.
[0072] (Этап S154)
Модуль 151 арифметического кодирования загружает контекст, подлежащий использованию (контекст использования) из памяти 148 контекста greater1_flag на основе количества контекстов, выбранных на этапе S153, и затем выполняет арифметическое кодирование над greater1_flag с использованием контекста. Кроме того, модуль 151 арифметического кодирования сохраняет контекст, который был обновлен в арифметическом кодировании, обратно в то же место в памяти 148 контекста greater1_flag.
[0073] (Этап S155)
Обработка от этапа S151 до этапа S155 повторяется, пока все коэффициенты целевого блока 4х4 коэффициентов не будут обработаны.
[0074] В результате, greater1_flag соответствующих коэффициентов закодированы в целевом блоке коэффициентов.
[0075] (Этап S144)
Модуль 133 кодирования уровня кодирует greater2_flag каждого из коэффициентов, включенных в целевой блок коэффициентов. Фиг. 8 - это блок-схема последовательности операций, поясняющая этот этап более подробно.
[0076] (Этап S161)
Модуль 142 установки greater2_flag определяет, равно ли абсолютное значение целевого коэффициента 2 или более. Если абсолютное значение равно 2 или более, то greater2_flag кодируется на этапах от S162 до S165. Если абсолютное значение равно 1 или меньше, greater2_flag не кодируется.
[0077] (Этап S162)
Если абсолютное значение целевого коэффициента равно 3 или более, то модуль 142 установки greater2_flag устанавливает greater2_flag в 1. Если абсолютное значение равно 2, то модуль 142 установки greater2_flag устанавливает greater2_flag в 0.
[0078] (Этап S163)
Модуль 149 выбора контекста greater2_flag устанавливает количество наборов контекста, выбранное на этапе S141, как количество контекстов. В отличие от greater1_flag, количество наборов контекста для greater2_flag непосредственно устанавливается как количество контекстов. Другими словами, одиночный набор контекста для greater2_flag включает в себя только один контекст.
[0079] (Этап S164)
Модуль 151 арифметического кодирования загружает контекст, подлежащий использованию (контекст использования), из памяти 150 контекста greater2_flag на основе количества контекстов, выбранного на этапе S150, и затем выполняет арифметическое кодирование над greater2_flag с использованием контекста. Кроме того, модуль 151 арифметического кодирования сохраняет контекст, который был обновлен в арифметическом кодировании, обратно в том же месте в памяти 150 контекста greater2_flag.
[0080] (Этап S165)
Обработка от этапа S161 к этапу S164 повторяется, пока все коэффициенты целевого 4х4 блока коэффициентов не будут обработаны.
[0081] В результате, greater2_flag соответствующих коэффициентов в целевом блоке коэффициентов закодированы.
[0082] (Этап S145)
Модуль 133 кодирования уровня кодирует остаток в каждом из коэффициентов в целевом блоке коэффициентов. Фиг. 9 - это блок-схема последовательности операций, поясняющая этот этап более подробно.
[0083] (Этап S171)
Модуль 143 установки остатка определяет, равно ли абсолютное значение целевого коэффициента 3 или больше. Если абсолютное значение равно 3 или больше, то остаток кодируется на этапах от S172 до S175. Если абсолютное значение равно 2 или меньше, остаток не кодируется.
[0084] (Этап S172)
Модуль 143 установки остатка вычисляет числовое значение путем вычитания 3 из абсолютного значения целевого коэффициента и устанавливает числовое значение в качестве остатка (многозначный сигнал).
[0085] (Этап S173)
Модуль 152 бинаризации остатка преобразует многозначный сигнал остатка в бинаризованный сигнал. Этот этап будет описан ниже более подробно.
[0086] (Этап S174)
Модуль 151 арифметического кодирования выполняет арифметическое кодирование над остатком. В отличие от greater1_flag и greater2_flag, остаток применяется с обходным арифметическим кодированием, которое не использует никакого контекста.
[0087] (Этап S175)
Модуль 144 обновления параметра бинаризации инициализирует параметр бинаризации (cParam). Этот этап будет описан ниже более подробно.
[0088] (Этап S176)
Обработка от этапа S171 до этапа S175 повторяется, пока все коэффициенты в целевом блоке коэффициентов не будут обработаны.
[0089] <Обработка (Выбор наборов контекста)>
Далее, со ссылкой на фиг. 10 будет более подробно описан выбор наборов контекста (S141 на фиг. 6).
[0090] (Этапы с S181 по S183)
Модуль 145 выбора наборов контекста определяет, имеет ли целевой блок коэффициентов самую низкую частоту в целевом блоке кодирования. Если целевой блок коэффициентов имеет самую низкую частоту, то количество наборов контекста устанавливается на 0. В противном случае, количество наборов контекста устанавливается на 2. Более конкретно, если целевой блок коэффициентов расположен в верхнем левом углу целевого блока кодирования, то модуль 145 выбора наборов контекста устанавливает количество наборов контекста на 0. В противном случае, количество наборов контекста устанавливается на 2.
[0091] (Этапы S184 и S185)
Если обновленный параметр бинаризации (cParam) блока коэффициентов (непосредственно предшествующего блока коэффициентов), который был обработан непосредственно перед целевым блоком коэффициентов, больше, чем 0, то модуль 145 выбора наборов контекста увеличивает количество наборов контекста на 1. Таким образом, если cParam был обновлен по меньшей мере один раз для непосредственно предшествующего блока коэффициентов, набор контекста изменяется.
[0092] Как описано выше, на этапах от S181 до S185 количество наборов контекста имеет значение в диапазоне от 0 до 3. Другими словами, существуют четыре вида наборов контекста, из которых модуль 145 выбора наборов контекста выбирает один.
[0093] <Обработка (Выбор контекста greater1_Flag)>
Далее, со ссылкой на фиг. 11, выбор контекста greater1_flag (S153 на фиг. 7) описан более подробно.
[0094] (Этап S191)
Из числа коэффициентов, которые были обработаны в целевом блоке коэффициентов, модуль 147 выбора контекста greater1_flag подсчитывает количество (G1NUM) greater1_flag со значением 1. Другими словами, модуль 147 выбора контекста greater1_flag подсчитывает количество коэффициентов, имеющих абсолютное значение 2 или больше. Здесь greater1_flag обработанных коэффициентов хранятся в памяти 146 greater1_flag, так что модуль 147 выбора контекста greater1_flag получает эти greater1_flag из памяти 146 greater1_flag.
[0095] (Этапы от S192 до S193)
Если G1NUM, подсчитанное на этапе S191, больше или равно 1, то модуль 147 выбора контекста greater1_flag устанавливает смещение контекста на 3. Если G1NUM равно 0, то обработка переходит к этапу S194. Другими словами, когда есть по меньшей мере один обработанный коэффициент, имеющий абсолютное значение 2 или больше в целевом блоке коэффициентов, смещение контекста устанавливается в 3.
[0096] (Этап S194)
Из обработанных коэффициентов в целевом блоке коэффициентов модуль 147 выбора контекста greater1_flag подсчитывает количество (G1NUM2) коэффициентов, имеющих greater1_flag. Другими словами, модуль 147 выбора контекста greater1_flag подсчитывает число коэффициентов, имеющих абсолютное значение 1 или больше. Здесь модуль 147 выбора контекста greater1_flag получает greater1_flag обработанных коэффициентов из памяти 146 geater1_flag.
[0097] (Этапы от S195 до S197)
Если G1NUM2, подсчитанное на этапе S194, больше, чем 2, то модуль 147 выбора контекста greater1_flag устанавливает смещение контекста на 2. В противном случае, модуль 147 выбора контекста greater1_flag устанавливает смещение контекста на значение G1NUM2.
[0098] Таким образом, на этапах от S191 до S197 смещение контекста устанавливается на значение в диапазоне от 0 до 3.
[0099] (Этап S198)
Модуль 147 выбора контекста greater1_flag устанавливает количество контекстов на "(количество наборов контекста ×4)+смещение контекста" и затем результирующее количество контекстов в память 148 контекста greater1_flag. Поскольку количество наборов контекста имеет значение от 0 до 3, и смещение контекста имеет значение от 0 до 3, как показано на фиг. 12, количество контекстов в конечном итоге имеет значение в диапазоне от 0 до 15. Другими словами, существуют четыре вида наборов контекста, и существуют четыре контекста в каждом из наборов контекста для greater1_flag. Модуль 145 выбора наборов контекста выбирает один вид наборов контекста из четырех видов, и модуль 147 выбора контекста greater1_flag выбирает один из четырех контекстов в выбранном наборе контекста.
[0100] <Обработка (Бинаризация остатка)>
Далее, со ссылкой на фиг. 13-16, бинаризация остатка (S173 на фиг. 9) описана более подробно. Таким образом, бинаризованный сигнал (бин) включает префикс и суффикс. Способ определения префикса и суффикса изменяется в соответствии с параметром бинаризации (cParam).
[0101] (Этап S201)
Модуль 153 определения префикса-суффикса определяет префикс и суффикс. Фиг. 14 - это блок-схема, поясняющая этот этап более подробно.
[0102] (Этапы от S211 до S222)
Модуль 153 определения префикса-суффикса использует cParam в определении префикса и суффикса. Обработка определения классифицируется, главным образом, на следующие два способа. Если остаток мал, префикс и суффикс определяются на этапах S213 и S214. С другой стороны, если остаток велик, префикс и суффикс определяются на этапах от S215 до S222. cParam используется в качестве порогового значения, на основе которого определяется, является ли остаток малым или большим. Как cParam больше, пороговое значение больше. cParam связан с биновой длиной префикса и суффикса.
[0103] Фиг. 15А-15С показывают бин префикса и суффикса в ассоциации с cParam и остатком. Как показано на фиг. 15А-15С, если остаток мал, меньший cParam приводит к более короткой биновой длине, а если остаток больше, то больший cParam приводит к более короткой биновой длине. Другими словами, если остаток был бы малым, меньший cParam, более вероятно, повысит эффективность кодирования. С другой стороны, если остаток был бы большим, больший cParam, более вероятно, повысит эффективность кодирования.
[0104] (Этап S202)
Модуль 155 вывода бина префикса предоставляет бин префикса на модуль 151 арифметического кодирования. Фиг. 16 - это блок-схема последовательности операций, поясняющая этот этап более подробно.
[0105] (Этапы от S231 до S235)
Модуль 155 вывода бина префикса сначала выводит значения "1" в том же количестве, что и значение префикса, и, наконец, выводит значение "0".
[0106] (Этап S203)
Модуль 154 вывода бина суффикса предоставляет бин суффикса на модуль 151 арифметического кодирования. Фиг. 17 это блок-схема последовательности операций, поясняющая этот этап более подробно.
[0107] (Этапы от S241 до S245)
Модуль 154 вывода бина суффикса преобразует значение суффикса в двоично-кодированную форму и выводит результирующие значения в двоично-кодированной форме последовательно в порядке от бита наивысшего порядка. Модуль 154 вывода бина суффикса выводит бин(ы) в количестве tmpLen. При этом, если количество битов в значении суффикса меньше, чем tmpLen, бит наивысшего порядка выводится как 0.
[0108] <Обработка (Обновление параметра бинаризации)>
Далее, со ссылкой на фиг. 18, обновление параметра бинаризации (S175 на фиг. 9) описано более подробно.
[0109] (Этап S251)
Если параметр бинаризации (cParam) меньше, чем 4, то модуль 144 обновления параметра бинаризации обновляет cParam на этапах от S252 до S254. Если cParam равен 4 или больше, то модуль 144 обновления параметра бинаризации не обновляет cParam и завершает обработку.
[0110] (Этапы от S252 до S254)
Если абсолютное значение целевого коэффициента больше, чем пороговое значение, то модуль 144 обновления параметра бинаризации увеличивает cParam на 1. Пороговое значение определяется с помощью математической формулы "3х(1<< cParam)". "<<" означает сдвиг влево. Когда cParam имеет большее значение, пороговое значение имеет большую величину. Как описано выше, cParam инициализируется в 0 в начале обработки для целевого блока коэффициентов. Каждый раз, когда появляется коэффициент больший, чем пороговое значение, из-за обработки модуля 144 обновления параметра бинаризации, cParam увеличивается на 1, пока cParam не достигнет максимального значения 4.
[0111] <Эффекты>
Как описано выше, в устройстве 100 кодирования изображения в соответствии с настоящим вариантом осуществления, если существует коэффициент, имеющий абсолютное значение большее, чем пороговое значение, в целевом обработанном блоке коэффициентов, контекст для greater1_flag и контекст для greater2_flag изменяются. В результате, можно повысить эффективность кодирования при малом объеме обработки.
[0112] Более конкретно, параметр бинаризации (cParam) увеличивается на 1 каждый раз, когда найдено абсолютное значение коэффициента больше, чем пороговое значение. Если, в начале целевого блока коэффициентов, значение cParam, которое было обновлено в обработке непосредственно предшествующего блока коэффициентов, является большим, чем 0, другими словами, если непосредственно предшествующий блок коэффициентов включает в себя по меньшей мере один коэффициент больший, чем пороговое значение, то количество наборов контекста изменяется. Более конкретно, если существует коэффициент, имеющий большое значение в непосредственно предшествующем блоке коэффициентов (блоке коэффициентов с более высокой частотой, чем частота целевого блока коэффициентов), то устройство 100 кодирования изображения определяет, что существует высокая вероятность того, что целевой блок коэффициентов также включает в себя коэффициент, имеющий большое значение. Поэтому выбирается контекст, подходящий для коэффициента, имеющего большое значение.
[0113] В настоящем стандарте HVEC (см. непатентный документ 1) подсчитывается количество обработанных коэффициентов, имеющих абсолютную величину 2 или больше, и контекст для целевого коэффициента определяется в соответствии с количеством. Однако обработанные коэффициенты не ограничиваются коэффициентами, включенными в непосредственно предшествующий блок коэффициентов. Они могут быть множеством коэффициентов, включенных в множество блоков коэффициентов, которые расположены ближе к высокочастотной стороне, чем целевой блок коэффициентов.
[0114] С другой стороны, в методе согласно настоящему варианту осуществления, не определяется, существует или нет коэффициент, превышающий пороговое значение, в непосредственно предшествующем блоке коэффициентов. Таким образом, устройству 100 кодирования изображения в соответствии с настоящим вариантом осуществления не нужно ни подсчитывать количество, ни иметь резистор для хранения значений отсчета.
[0115] Кроме того, способ кодирования изображения согласно настоящему варианту осуществления был применен для тестирования программного обеспечения настоящего стандарта HEVC для экспериментов. Фиг. 19 показывает результаты эксперимента по сравнению с состоянием до применения. Условия эксперимента базируются на общих условиях эксперимента группы стандарта HEVC. Большее численное значение указывает более низкую эффективность кодирования. Отрицательное значение указывает улучшение эффективности кодирования. Как показано на фиг. 19, каждое из значений находится в пределах от -0,01% до 0,03%. Это означает, что эффективность кодирования практически не испытывает влияния, даже если подсчет коэффициентов устраняется.
[0116] Кроме того, путем объединения информации, подлежащей использованию при выборе контекстов, и информации, подлежащей использованию при кодировании остатка, размер схемы уменьшается. Более конкретно, cParam, который получает приращение каждый раз, когда найдено абсолютное значение коэффициента, которое больше, чем пороговое значение, используется для изменения параметра бинаризации остатка и для выбора контекста greater1_flag и контекста greater2_flag, так что одна структура может выполнять различные функции. Таким образом, по сравнению с существующим стандартом HEVC, способ кодирования изображения согласно настоящему варианту осуществления может устранить подсчет коэффициентов, при этом ухудшение эффективности кодирования подавляется, без добавления новой структуры.
[0117] Следует отметить, что выше было описано, что набор контекстов изменяется на основе параметра бинаризации (cParam), который был обновлен для непосредственно предшествующего блока коэффициентов. Однако устройство 100 кодирования изображения может выполнять изменения на основе параметра бинаризации, который был обновлен для блока коэффициентов, отличного от непосредственно предшествующего блока коэффициентов. Возможно, например, что устройство 100 кодирования изображения может изменить набор контекстов, когда cParam превышает 0 в обработке для любого обрабатываемого блока коэффициентов. Блоки коэффициентов обрабатываются последовательно в порядке от более высокочастотного блока. Таким образом, если cParam любого одного из блоков коэффициентов превышает 0, другими словами, если появляется коэффициент, имеющий абсолютное значение, которое больше или равно пороговому значению, существует высокая вероятность того, что все последующие блоки коэффициентов имеют большие значения коэффициентов. В таком случае, можно увеличить эффективность кодирования посредством выбора набора контекста, который подлежит использованию для приведенной выше возможности.
[0118] Кроме того, устройство 100 кодирования изображения инициализирует параметр бинаризации (cParam) в 0 в начале обработки для целевого блока коэффициентов. Однако также можно поддерживать использование cParam, обновленного для непосредственно предшествующего блока коэффициентов, без инициализации cParam в 0. Это дает возможность продолжать использовать состояние высокочастотного блока коэффициентов. В результате, эффективность кодирования иногда увеличивается в зависимости от входного изображения.
[0119] Следует также отметить, что выше было описано, что устройство 100 кодирования изображения изменяет набор контекста, когда cParam больше, чем 0. Однако настоящий вариант осуществления не ограничивается вышеуказанным. Также можно изменять набор контекста, если, например, cParam больше, чем 1, или cParam больше, чем 2. В зависимости от входного изображения, иногда можно повысить эффективность кодирования путем изменения набора контекста, когда cParam больше, чем 1.
[0120] Следует также отметить, что выше было описано, что используются четыре вида наборов контекста, но настоящий вариант осуществления не ограничивается вышеуказанным. Может быть четыре или более видов наборов контекста или четыре или менее видов наборов контекста. Например, хотя выше описано, что устройство 100 кодирования изображения увеличивает количество наборов контекста на 1, когда cParam больше, чем 0, когда количество наборов контекстов равно 0 или 2. Однако также возможно, что количество наборов контекстов увеличивается на 1 только тогда, когда количество наборов контекстов равно 2.
[0121] Следует также отметить, что выше было описано, что устройство 100 кодирования изображения изменяет набор контекста, когда целевой блок коэффициентов имеет самую низкую частоту, но изменение может быть ненужным. Также возможно, что устройство 100 кодирования изображения увеличивает количество наборов контекста на 1, когда cParam больше, чем 0, и далее увеличивает результирующее количество наборов контекста на 1, когда cParam больше, чем 1. В зависимости от входного изображения, эффективность кодирования может быть увеличена, когда количество видов наборов контекста увеличивается. С другой стороны, в зависимости от входного изображения, когда количество наборов контекста уменьшается, можно уменьшить виды контекстов, тем самым уменьшая размер схемы для обработки выбора и уменьшая память для хранения контекстов.
[0122] Следует также отметить, что на фиг. 11 было показано, что устройство 100 кодирования изображения устанавливает контекст greater1_flag на основе G1NUM и G1NUM2, но настоящий вариант осуществления не ограничивается вышеуказанным. Например, устройство 100 кодирования изображения может установить контекст на основе позиции целевого коэффициента в целевом блоке коэффициентов или на основе G1NUM или G1NUM2.
[0123] Следует также отметить, что выше было описано, что при выборе контекста для greater2_flag, устройство 100 кодирования изображения устанавливает количество наборов контекста как собственно количество контекста, но настоящий вариант осуществления не ограничивается вышеуказанным. Устройство 100 кодирования изображения может выбрать контекст для greater2_flag тем же самым методом, как используется для greater1_flag.
[0124] Следует также отметить, что выше было описано, что greater1_flag существует, когда абсолютное значение целевого коэффициента равно 1 или больше, и что greater2_flag существует, когда абсолютное значение целевого коэффициента равно 2 или больше. Однако также возможно ограничить соответствующее максимальное число флагов в блоке коэффициентов таким же образом, как в настоящем стандарте HEVC (непатентный документ 1). Возможно, что существует максимально восемь greater1_flag и максимально один greater2_flag.
[0125] Следует также отметить, что выше было описано, что в бинаризации остатка устройства 100 кодирования изображения префикс и суффикс формируют бин. Однако бинаризованный сигнал остатка может быть любым сигналом, пока биновая длина может быть изменена на основе cParam. Например, бинаризованный сигнал остатка может иметь только префикс или может быть выражен с помощью метода экспоненты Голомба из стандарта кодирования движущегося изображения H.264.
[0126] Следует также отметить, что выше было описано, что последний бин префикса установлен в 0, но последний 0 может быть удален, когда префикс является максимальным. Если префикс не максимален, необходимо вставить "0", чтобы уточнить бин на границе префикса и суффикса. Однако если устройство декодирования изображения знает максимальное значение коэффициента, то максимальное значение префикса очевидно. Таким образом, если префикс максимален, устройство декодирования изображения может определить границу между префиксом и суффиксом без "0". Устранение вставки "0" в случае максимального префикса может значительно сократить биновую длину, когда имеется большое число коэффициентов с максимальным префиксом (другими словами, когда битовая скорость кодирования является высокой). В результате, эффективность кодирования повышается.
[0127] Выше было описано, что пороговое значение, используемое в обновлении параметра бинаризации (cParam) устанавливается в соответствии с математической формулой "3*(1<<cParam)", но настоящий вариант осуществления не ограничен вышеуказанным. Например, устройство кодирования изображения может использовать другое числовое значение, например "4" вместо "3" в математической формуле, или использовать другую математическую формулу.
[0128] Следует также отметить, что выше было описано, что устройство кодирования изображения использует контекст в арифметическом кодировании над greater1_flag и greater2_flag для всех коэффициентов, но также возможно, что обходное арифметическое кодирование, которое не использует контекст, может выполняться над greater1_flag или greater2_flag части коэффициентов таким же образом, как выполняется над остатком. Например, если greater1_flag непосредственно предшествующего коэффициента равно 1, устройство кодирования изображения может выполнять обходное арифметическое кодирование над greater1_flag целевого коэффициента. Также возможно, что устройство кодирования изображения выполняет обходное арифметическое кодирование над greater1_flag в начале блока целевых коэффициентов. Использование обходного арифметического кодирования может устранить загрузку и обновление контекста. Кроме того, использование обходного арифметического кодирования может устранить отношение зависимости с другим синтаксисом, использующим тот же контекст. В результате, обработка может быть выполнена с более высокой скоростью.
[0129] Следует также отметить, что выше было описано, что блок кодирования имеет размер максимально 32 х 32 пикселей и минимально 4 х 4 пикселей, но размер блоков кодирования не ограничивается вышеуказанным. Также возможно, что блоки кодирования имеют фиксированный размер.
[0130] Следует также отметить, что выше было описано, что блок кодирования делится на 4×4 блоки коэффициентов, но это не является необходимым для разделения блока кодирования на блоки коэффициентов, каждый из которых имеет 4 пикселя ×4 пикселя. Например, можно также разделить блок кодирования на блоки коэффициентов, каждый из которых имеет 8 пикселей ×8 пикселей. Блок кодирования может быть разделен на прямоугольные блоки коэффициентов, каждый из которых имеет, например, 8 пикселей ×4 пикселя.
[0131] Кроме того, обработка в соответствии с настоящим вариантом осуществления может быть реализована в программном обеспечении. Это программное обеспечение может распространяться путем загрузки или тому подобного. Или это программное обеспечение, в целях распространения, может записываться на носитель записи, такой как CD-ROM. Вышеуказанное применимо к другим вариантам осуществления в этом описании.
[0132] (Вариант осуществления 2)
В варианте осуществления 2 приведено описание для устройства декодирования изображения, которое декодирует кодированный битовый поток, генерируемый устройством кодирования изображений согласно варианту осуществления 1.
[0133] <Общая структура>
Фиг. 20 - это блок-схема, показывающая структуру устройства 200 декодирования изображения в соответствии с настоящим вариантом осуществления.
[0134] Устройство 200 декодирования изображения, показанное на фиг. 20, декодирует кодированный поток 221 для генерации декодированного изображения 225. Здесь кодированный поток 221 соответствует, например, кодированному потоку 125, генерируемому вышеописанным устройством 100 кодирования изображения. Устройство 200 декодирования изображения включает в себя модуль 201 декодирования c переменной длиной слова, модуль 202 обратного преобразования, модуль 203 суммирования, модуль 204 объединения декодированных блоков и память 205 кадров.
[0135] <Обработка (Общие сведения)>
Далее, со ссылкой на фиг. 21, описан общий поток декодирования.
[0136] (Этап S301)
Модуль 201 декодирования c переменной длиной слова выполняет декодирование переменной длины над кодированным потоком 221, чтобы генерировать коэффициенты 222 частоты, и предоставляет коэффициенты 222 частоты на модуль 202 обратного преобразования.
[0137] (Этап S302)
Модуль 202 обратного преобразования преобразует коэффициенты 222 частоты 222 в пиксельные данные для генерации дифференциального блока 223.
[0138] (Этап S303)
Модуль 203 суммирования суммирует декодированное изображение 226, сохраненное в памяти 205 кадров, с дифференциальным блоком 223, таким образом, генерируя декодированный блок 224.
[0139] (Этап S304)
Обработка от этапа S301 до этапа 303 повторяется, пока все блоки в целевом изображении не будут декодированы.
[0140] (Этап S305)
Модуль 204 объединения декодированных блоков объединяет множество декодированных блоков 224 вместе для генерации декодированного изображения 225 и сохраняет, как декодированное изображение 226, декодированное изображение 225 в памяти 205 кадров.
[0141] Ниже приведено более подробное описание модуля 201 декодирования c переменной длиной слова.
[0142] <Структура модуля 201 декодирования c переменной длиной слова>
Фиг. 22 - это блок-схема, показывающая структуру модуля 201 декодирования c переменной длиной слова. В настоящем варианте осуществления, подобно варианту осуществления 1, коэффициент 222 частоты (в дальнейшем называемый также просто "коэффициентом") выражается на основе пяти параметров: significant_flag, greater1_flag, greater2_flag, остаток и sign_flag. Соответствующие параметры указывают то же самое, что описано в варианте осуществления 1, так что повторное объяснение не приводится.
[0143] Как показано на фиг. 22, модуль 201 декодирования c переменной длиной слова включает в себя модуль 231 декодирования significant_flag, модуль 232 декодирования уровня, модуль 233 декодирования sign_flag 233 и модуль 234 декодирования коэффициента.
[0144] <Обработка (Декодирование переменной длины)>
Далее, со ссылкой на фиг. 23, описан поток декодирования c переменной длиной слова.
[0145] (Этап S321)
Модуль 231 декодирования significant_flag декодирует significant_flag каждого из коэффициентов в целевом блоке коэффициентов и предоставляет результирующий significant_flag в модуль 232 декодирования уровня, модуль 234 декодирования sign_flag и модуль 234 декодирования коэффициента.
[0146] (Этап S322)
Модуль 232 декодирования уровня декодирует greater1_flag, greater2_flag и остаток каждого из коэффициентов в целевом блоке коэффициентов и предоставляет результирующие greater1_flag, greater2_flag и остаток на модуль 234 декодирования коэффициента. Здесь модуль 232 декодирования уровня декодирует greater1_flag, greater2_flag и остаток только тогда, когда significant_flag равен 1.
[0147] (Этап S323)
Модуль 233 декодирования sign_flag декодирует sign_flag каждого из коэффициентов в целевом блоке коэффициентов и предоставляет результирующий sign_flag в модуль 234 декодирования коэффициента. Здесь модуль 233 декодирования sign_flag декодирует sign_flag только тогда, когда significant_flag равен 1.
[0148] (Этап S324)
Модуль 234 декодирования коэффициента декодирует целевой коэффициент на основе significant_flag, greater1_flag, greater2_flag, остатка и sign_flag. Соответствующие параметры указывают то же самое, что описано в варианте осуществления 1, так что модуль 234 декодирования коэффициента декодирует целевой коэффициент в соответствии с указанием параметров.
[0149] Ниже приведено более подробное описание модуля 232 декодирования уровня.
[0150] <Структура модуля 232 декодирования уровня>
Фиг. 24 - это блок-схема, показывающая структуру модуля 232 декодирования уровня. Как показано на фиг. 24, модуль 232 декодирования уровня включает в себя модуль 241 выбора наборов контекста, модуль 242 выбора контекста greater1_flag, память 243 greater1_flag, память 244 контекста greater1_flag, модуль 245 выбора контекста greater2_flag, память 246 контекста greater2_flag, модуль 247 арифметического декодирования, модуль 248 обновления параметра бинаризации и модуль 249 многозначного остатка. Модуль 249 многозначного остатка включает в себя модуль 250 декодирования префикса, модуль 251 декодирования суффикса и модуль 252 объединения префикса-суффикса.
[0151] <Обработка (Декодирование уровня)>
Далее, со ссылкой на фиг. 25-28, более подробно описывается декодирование уровня. Фиг. 25 - это блок-схема последовательности операций декодирования, выполняемого модулем 232 декодирования уровня.
[0152] (Этап S341)
Модуль 241 выбора наборов контекста устанавливает соответствующие количества наборов контекста, подлежащие использованию в арифметическом декодировании над greater1_flag и арифметическом декодировании над greater2_flag. Способ установки такой же, как при выборе наборов контекста (фиг. 10) в соответствии с вариантом осуществления 1.
[0153] (Этап S342)
Модуль 248 обновления параметра бинаризации инициализирует параметр бинаризации (cParam) в 0. На этом этапе cParam устанавливается в 0 в начале целевого блока коэффициентов. Следует отметить, что этапы S341 и S342 выполняются один раз для целевого блока коэффициентов, в то время как следующие этапы с этапа S343 выполняются для каждого из коэффициентов в целевом блоке коэффициентов.
[0154] (Этап S343)
Модуль 232 декодирования уровня декодирует greater1_flag каждого из коэффициентов в целевом блоке коэффициентов. Фиг. 26 - это блок-схема, поясняющая этот этап более подробно.
[0155] (Этап S351)
Модуль 232 декодирования уровня определяет, является ли significant_flag целевого коэффициента равным 1. Если significant_flag равен 1, то модуль 232 декодирования уровня декодирует greater1_flag на этапах S352 и S353. С другой стороны, если significant_flag равен 0, модуль 232 декодирования уровня не декодирует greater1_flag.
[0156] (Этап S352)
Модуль 242 выбора контекста greater1_flag устанавливает количество контекстов на основе количества наборов контекста, выбранного на этапе S341. Способ установки тот же самый, как при выборе контекста greater1_flag (фиг. 11) в соответствии с вариантом осуществления 1.
[0157] (Этап S353)
Модуль 247 арифметического декодирования загружает контекст, подлежащий использованию (контекст использования) из памяти 244 контекста greater1_flag в соответствии с количеством контекстов, выбранным на этапе S352, и выполняет арифметическое декодирование над greater1_flag посредством использования контекста. Кроме того, модуль 247 арифметического декодирования сохраняет контекст, который был обновлен в арифметическом декодировании, обратно в том же самом месте в памяти 244 контекста greater1_flag.
[0158] (Этап S354)
Обработка от этапа S351 до этапа S353 повторяется, пока все коэффициенты в целевом блоке коэффициентов не будут обработаны.
[0159] В результате, greater1_flag соответствующих коэффициентов в целевом блоке коэффициентов декодируется.
[0160] (Этап S344)
Модуль 232 декодирования уровня декодирует greater2_flag каждого из коэффициентов в целевом блоке коэффициентов. Фиг. 27 - это блок-схема, поясняющая этот этап более подробно.
[0161] (Этап S361)
Модуль 232 декодирования уровня определяет, является ли greater1_flag целевого коэффициента равным 1. Если greater1_flag равен 1, то модуль 232 декодирования декодирует greater2_flag на этапах S362 и S363. С другой стороны, если greater1_flag равен 0, модуль 232 декодирования уровня не декодирует greater2_flag. Следует отметить, что если significant_flag целевого коэффициента равен 0, модуль 232 декодирования уровня не декодирует ни greater1_flag, ни greater2_flag.
[0162] (Этап S362)
Модуль 245 выбора контекста greater2_flag устанавливает количество наборов контекста, выбранное на этапе S341, как количество контекстов. В отличие от greater1_flag, количество наборов контекста для greater2_flag непосредственно устанавливается на количество контекстов. Другими словами, одиночный набор контекста для greater2_flag включает в себя только один контекст.
[0163] (Этап S363)
Модуль 247 арифметического декодирования загружает контекст, подлежащий использованию (контекст использования), из памяти 246 контекста greater2_flag в соответствии с количеством контекстов, выбранным на этапе S362, и выполняет арифметическое декодирование greater2_flag посредством использования контекста. Кроме того, модуль 247 арифметического декодирования сохраняет контекст, который был обновлен в арифметическом декодировании, обратно в том же самом месте в памяти 246 контекста greater2_flag.
[0164] (Этап S364)
Обработка от этапа S361 до этапа S363 повторяется, пока все коэффициенты в целевом блоке коэффициентов не будут обработаны.
[0165] В результате, greater2_flag соответствующих коэффициентов в целевом блоке коэффициентов декодируются.
[0166] (Этап S345)
Модуль 232 декодирования уровня декодирует остаток каждого из коэффициентов в целевом блоке коэффициентов. Фиг. 28 - это блок-схема последовательности операций, поясняющая этот этап более подробно.
[0167] (Этап S371)
Модуль 232 декодирования уровня определяет, является ли greater2_flag целевого коэффициента равным 1. Если greater2_flag равен 1, то модуль 232 декодирования уровня декодирует остаток на этапах S372 и S373. С другой стороны, если greater2_flag равен 0, модуль 232 декодирования уровня не декодирует остаток. Следует отметить, что если significant_flag целевого коэффициента равен 0 или greater1_flag целевого коэффициента равен 0, модуль 232 декодирования уровня не декодирует ни greater2_flag, ни остаток.
[0168] (Этап S372)
Модуль 247 арифметического декодирования выполняет арифметические декодирование остатка. В отличие от greater1_flag и greater2_flag, остаток применяется с обходным арифметическим кодированием, которое не использует какой-либо контекст.
[0169] (Этап S373)
Модуль 249 многозначного остатка преобразует многозначный сигнал остатка в бинаризованный сигнал. Этот этап будет описан ниже более подробно.
[0170] (Этап S374)
Модуль 248 обновления параметра бинаризации обновляет параметр бинаризации (cParam). Способ обновления является таким же, как обновление параметра бинаризации (фиг. 18) в соответствии с вариантом осуществления 1.
[0171] (Этап S375)
Обработка от этапа S371 до этапа S374 повторяется, пока все коэффициенты в целевом блоке коэффициентов не будут обработаны.
[0172] <Обработка (Преобразование остатка в многозначный сигнал)>
Далее, со ссылкой на фиг. 29-31, более подробно описывается преобразование остатка в многозначный сигнал (S373 на фиг. 28).
[0173] (Этап S401)
Модуль 250 декодирования префикса декодирует префикс. Фиг. 30 - это блок-схема последовательности операций, поясняющая этот этап более подробно.
[0174] (Этапы от S411 до S415)
Модуль 250 декодирования префикса определяет префикс. В итоге, модуль 250 декодирования префикса получает коды по 1 биту каждый последовательно от модуля 247 арифметического декодирования, пока не будет найден "0". Число непрерывных "1" устанавливается на значение префикса.
[0175] (Этап S402)
Модуль 251 декодирования суффикса декодирует суффикс.
[0176] (Этап S403)
Модуль 252 объединения префикса-суффикса объединяет префикс и суффикс, чтобы генерировать многозначный сигнал остатка.
[0177] Фиг. 31 - это блок-схема последовательности операций, поясняющая этапы S402 и S403 более подробно.
[0178] (Этапы от S421 до S433)
Модуль 251 декодирования суффикса определяет суффикс. В итоге, если префикс меньше, чем 8, то модуль 251 декодирования суффикса устанавливает значение cParam как биновую длину и генерирует суффикс путем упорядочения результатов арифметического декодирования биновой длины в порядке от более высокого порядка. С другой стороны, если префикс равен 8 или больше, то модуль 251 декодирования суффикса вычисляет биновую длину из префикса и cParam и генерирует суффикс путем упорядочения результатов арифметического декодирования биновой длины в порядке от более высокого порядка.
[0179] (Этапы от S441 до S442)
Модуль 252 объединения префикса-суффикса вычисляет остаток на основе префикса, суффикса и cParam.
[0180] <Эффекты>
Как описано выше, устройство декодирования изображения согласно варианту осуществления 2 может предоставить те же самые эффекты, как описано в варианте осуществления 1.
[0181] Фиг. 32A является блок-схемой последовательности операций кодирования изображения, выполняемого вышеописанным устройством 100 кодирования изображения.
[0182] Как описано выше, устройство 100 кодирования изображения выполняет арифметическое кодирование над первым флагом (greater1_flag), указывающим, является ли абсолютное значение целевого коэффициента, включенного в целевой блок коэффициентов, большим, чем 1 (S701). Далее, устройство 100 кодирования изображения осуществляет арифметическое кодирование над вторым флагом (greater2_flag), указывающим, является ли абсолютное значение большим, чем 2 (S702).
[0183] Фиг. 32B - это блок-схема последовательности операций этапов S701 и S702.
[0184] На этапах S701 и S702 устройство 100 кодирования изображения определяет, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение (S711), и на основе результата определения выбирает соответствующие контексты, подлежащие использованию в арифметическом кодировании над первым флагом и арифметическом кодировании над вторым флагом (S712). Другими словами, устройство 100 кодирования изображения выполняет вышеуказанное определение со ссылкой только на коэффициенты, включенные в непосредственно предшествующий блок коэффициентов, а не коэффициенты, включенные в блоки коэффициентов иные, чем непосредственно предшествующий блок коэффициентов. Другими словами, устройство 100 кодирования изображения осуществляет арифметическое кодирование над первым флагом и вторым флагом с использованием контекстов, соответствующих результату определения, среди множества контекстов.
[0185] Непосредственно предшествующий блок коэффициентов относится к блоку коэффициентов, которые были обработаны непосредственно перед целевым блоком коэффициентов.
[0186] Более конкретно, если абсолютное значение целевого коэффициента больше, чем пороговое значение, то устройство 100 кодирования изображения дает приращение параметру бинаризации (cParam) (S253 и S254 на фиг. 18). Затем, если cParam из непосредственно предшествующего блока коэффициентов больше, чем 0, то устройство 100 кодирования изображения изменяет контекст (другими словами, дает приращение количеству наборов контекста) (S184 и S185 на фиг. 10).
[0187] Другими словами, на основе переменной, генерируемой в арифметическом кодировании над непосредственно предшествующим блоком коэффициентов, устройство 100 кодирования изображения определяет, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение.
[0188] Более конкретно, если абсолютное значение целевого коэффициента больше, чем 2, то устройство 100 кодирования изображения бинаризует остаток, то есть значение, полученное вычитанием 3 из абсолютного значения, в соответствии с таблицей преобразования, назначенной параметром бинаризации (cParam), среди множества таблиц преобразования. Этот параметр бинаризации определяется в зависимости от того, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение. Вышеупомянутая переменная является этим параметром бинаризации.
[0189] Выше было описано, что пороговое значение для абсолютных значений коэффициентов, на который ссылаются при изменении контекста, определяется на основе параметра бинаризации (S252 на фиг. 18), но пороговое значение может быть предопределенным значением ("1"), как описано в отношении обычной технологии. Другими словами, устройство 100 кодирования изображения может определить, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем 1 (2 или более), и на основе результата определения, изменить контекст, подлежащий использованию, на другой. Как описано выше, в традиционном методе, подсчитывается число коэффициентов, имеющих абсолютную величину больше, чем пороговое значение. Эта обработка отличается от обработки определения того, имеется ли коэффициент, имеющий абсолютное значение больше, чем пороговое значение, как описано в настоящем варианте осуществления.
[0190] В этом случае, как и в предыдущем случае, устройство 100 кодирования изображения может определить, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение больше, чем 1, на основе переменной, генерируемой в арифметическом кодировании над непосредственно предшествующим блоком коэффициентов. Например, этой переменной является greater1_flag. Другими словами, устройство 100 кодирования изображения может изменить контекст в соответствии с тем, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, который имеет greater1_flag, имеющий значение, равное 1.
[0191] Фиг. 33A - это блок-схема последовательности операций декодирования изображения, выполняемого с помощью вышеописанного устройства 200 декодирования изображения.
[0192] Как показано на фиг. 33A, устройство 200 декодирования изображения выполняет арифметическое декодирование над первым флагом (greater1_flag), который указывает, является ли абсолютное значение целевого коэффициента, включенного в целевой блок коэффициентов, большим, чем 1 (S751). Устройство 200 декодирования изображения выполняет арифметическое декодирование над вторым флагом (greater2_flag), указывающим, является ли абсолютное значение большим, чем 2 (S752).
[0193] Фиг. 33B - это блок-схема последовательности операций этапов S751 и S752.
[0194] На этапах S751 и S752 устройство 200 декодирования изображения 200 определяет, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение (S761), и на основе результата определения изменяет соответствующий контекст, подлежащий использованию в арифметическом декодирования над первым флагом и вторым флагом (S762). Другими словами, устройство 200 декодирования изображения выполняет арифметическое декодирование над первым флагом и вторым флагом, посредством использования соответствующих контекстов, соответствующих результату определения, среди множества контекстов.
[0195] Более конкретно, если абсолютное значение целевого коэффициента больше, чем пороговое значение, устройство 200 декодирования изображения дает приращение параметру бинаризации (cParam) (S253 и S254 на фиг. 18). Затем, если cParam из непосредственно предшествующего блока коэффициентов больше, чем 0, то устройство 200 декодирования изображения изменяет контекст (другими словами, дает приращение количеству наборов контекста) (S184 и S185 на фиг. 10).
[0196] Другими словами, на основе переменной, генерируемой в арифметическом декодировании над непосредственно предшествующим блоком коэффициентов, устройство 200 декодирования изображения определяет, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение.
[0197] Более конкретно, если абсолютное значение целевого коэффициента больше, чем 2, устройство 200 декодирования изображения преобразует остаток, который получен путем вычитания 3 из абсолютного значения, в многозначную величину в соответствии с таблицей преобразования, назначенной параметром бинаризации, среди множества таблиц преобразования. Этот параметр бинаризации определяется в зависимости от того, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем пороговое значение. Вышеупомянутой переменной является этот параметр бинаризации.
[0198] Как и выше, пороговое значение может быть предопределенным значением ("1"). В этом случае, как и в предыдущем случае, устройство 200 декодирования изображения может определить, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение большее, чем 1, на основе переменной, генерируемой в арифметическом кодировании над непосредственно предшествующим блоком коэффициентов. Например, этой переменной является greater1_flag. Другими словами, устройство 200 декодирования изображения может изменить контекст, в соответствии с тем, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, который имеет greater1_flag, имеющий значение 1.
[0199] (Вариант осуществления 3)
В варианте осуществления 3 описана вариация варианта осуществления 1. Устройство кодирования изображения согласно варианту осуществления 3 отличается от устройства кодирования изображения согласно варианту осуществления 1 тем, что модуль 133А кодирования уровня функционирует иначе, чем модуль 133 кодирования уровня. Ниже приведено описание модуля 133А кодирования уровня.
[0200] <Структура модуля 133А кодирования уровня>
Фиг. 34 - это блок-схема, показывающая структуру модуля 133А кодирования уровня. Модуль 133А кодирования уровня включает в себя не только структуру модуля 133 кодирования уровня в соответствии с вариантом осуществления 1, но также модуль 160 переключения greater_flag. Кроме того, функции модуля 143А установки остатка и модуля 145А выбора наборов контекста отличаются от функций модуля 143 установки остатка и модуля 145 выбора наборов контекста.
[0201] <Обработка (Кодирование уровня)>
Далее, со ссылкой на фиг. 35 кодирование уровня будет описано более подробно. Кодирование уровня согласно варианту осуществления 1 дополнено новыми этапами от S501 до S503. Кроме того, этапы S141 и S171 отличаются от этапов S141 и S171. Этапы, идентичные этапам в варианте осуществления 1, повторно не поясняются ниже.
[0202] (Этап S141)
Модуль 145А выбора наборов контекста устанавливает количество наборов контекста, подлежащее использованию в арифметическом кодировании над greater1_flag и greater2_flag. Этот этап будет описан ниже более подробно.
[0203] (Этап S501)
Модуль 160 переключения greater_flag определяет, является ли параметр бинаризации (cParam), который был обновлен в обработке над непосредственно предшествующим блоком коэффициентов, большим, чем 0. Таким же способом, как описано в варианте осуществления 1, если параметр бинаризации равен 0, то greater1_flag и greater2_flag кодируются. С другой стороны, если параметр бинаризации больше, чем 0, то greater1_flag и greater2_flag не кодируются.
[0204] (Этапы S502, S503 и S171)
Если параметр бинаризации (cParam), который был обновлен для непосредственно предшествующего блока коэффициентов, больше, чем 0, то модуль 143А установки остатка устанавливает базовое значение остатка в 1. Если параметр бинаризации (cParam) равен 0, то модуль 143А установки остатка устанавливает базовое значение остатка в 3. Затем, если абсолютное значение целевого коэффициента больше или равно базовому значению остатка, то модуль 133А кодирования уровня кодирует остаток на этапах от S172 до S175. С другой стороны, если абсолютное значение меньше, чем базовое значение остатка, то модуль 133А кодирования уровня не кодирует остаток. Если остаток кодирован, то модуль 133А кодирования уровня вычитает базовое значение остатка из абсолютного значения и устанавливает результирующее значение как остаток и кодированное. Это объясняется тем, что greater1_flag и greater2_flag иногда не кодируются в зависимости от cParam, и значение, которое должно быть установлено как остаток, поэтому изменяется. В варианте осуществления 1, так как greater1_flag и greater2_flag имеются, каким бы ни был cParam, базовое значение остатка фиксируется на "3".
[0205] <Обработка (Выбор наборов контекстов)>
Далее, со ссылкой на фиг. 35, выбор наборов контекстов (S141 на фиг. 34) описан более подробно.
[0206] (Этапы от S511 до S513)
Модуль 145А выбора набора контекстов определяет, имеет ли целевой блок коэффициентов самую низкую частоту в целевом блоке кодирования. Если целевой блок коэффициентов имеет самую низкую частоту, то модуль 145А выбора наборов контекста устанавливает количество наборов контекстов в 0. В противном случае, модуль 145А выбора наборов контекста устанавливает количество наборов контекста в 1. Другими словами, если целевой блок коэффициентов расположен в верхнем левом углу целевого блока кодирования, то модуль 145А выбора наборов контекста устанавливает количество наборов контекста в 0. В противном случае, модуль 145А выбора наборов контекста устанавливает количество наборов контекста в 1.
[0207] В отличие от варианта осуществления 1, модуль 145А выбора наборов контекста не изменяет набор контекста, когда cParam больше, чем 0. Это объясняется тем, что greater1_flag и greater2_flag не кодируются и контекст не выбирается, если cParam больше, чем 0, как показано в ранее описанном потоке кодирования уровня.
[0208] <Эффекты>
Как описано выше, устройство кодирования изображения в соответствии с настоящим вариантом осуществления определяет на основе параметра бинаризации, который был обновлен для непосредственно предшествующего блока коэффициентов, что greater1_flag и greater2_flag не должны быть кодированы, и поэтому коэффициент кодируется на основе остатка вместо greater1_flag и greater2_flag. Таким образом, если существует по меньшей мере один коэффициент больший, чем пороговое значение, в обработке для непосредственно предшествующего блока коэффициентов, устройство кодирования изображения выполняет обходное арифметическое кодирование, которое не использует какого-либо контекста, вместо арифметического кодирования, которое использует контекст. Обходное арифметическое кодирование не требует загрузки и обновления контекста. Кроме того, обходное арифметическое кодирование позволяет начинать обработку, не дожидаясь, пока контекст будет обновлен на предварительной стадии. Поэтому обходное арифметическое кодирование может увеличить скорость обработки больше, чем арифметическое кодирование, которое использует контекст.
[0209] Кроме того, если существует высокая вероятность того, что абсолютное значение целевого коэффициента мало, greater1_flag и greater2_flag иногда равны 0, так что кодирование остатка не является необходимым. Тем не менее, указанная ситуация возникает редко, когда имеется высокая вероятность того, что абсолютное значение целевого коэффициента является большим. Таким образом, общая биновая величина часто может быть уменьшена, если greater1_flag и greater2_flag не кодируются.
[0210] Если cParam после обработки над непосредственно предшествующим блоком коэффициентов больше, чем 0 (другими словами, если существует по меньшей мере один коэффициент больший, чем пороговое значение), то устройство кодирования изображения в соответствии с настоящим вариантом осуществления ожидает, что существует высокая вероятность получения коэффициентов, имеющих абсолютное значение, в целевом блоке коэффициентов, и поэтому не кодирует greater1_flag и greater2_flag. В результате, обработка может выполняться с более высокой скоростью за счет уменьшения этапов арифметического кодирования с использованием контекстов при подавлении ухудшения эффективности кодирования.
[0211] Кроме того, greater1_flag и greater2_flag не кодируются, когда cParam больше, чем 0. В результате, набор контекстов, который используется, когда cParam больше, чем 0, другими словами, набор контекстов, который используется, когда имеется высокая вероятность обеспечения коэффициентов, имеющих большое значение, не является необходимым. Более конкретно, если целевой блок коэффициентов расположен в верхнем левом углу целевого блока кодирования, устройство кодирования изображения использует один контекст. Если целевой блок коэффициентов не находится в верхнем левом углу, устройство кодирования изображения использует один общий набор контекста. В результате, можно уменьшить количество используемых контекстов и, тем самым, уменьшить размер памяти для хранения контекстов и размер схемы для выбора контекстов.
[0212] Путем объединения информации, подлежащей использованию при определении, следует ли кодировать greater1_flag и greater2_flag, и информации подлежащей использованию в кодировании остатка, размер схемы уменьшается. Более конкретно, cParam, который получает приращение каждый раз, когда абсолютное значение целевого коэффициента превышает пороговое значение, используется для изменения параметра бинаризации остатка и для определения, следует ли кодировать greater1_flag и greater2_flag. В результате, одна структура может выполнять различные функции. По сравнению с существующим стандартом HEVC (непатентный документ 1), устройство кодирования изображения в соответствии с настоящим вариантом осуществления может определять, следует ли кодировать greater1_flag и greater2_flag, без включения дополнительной структуры.
[0213] Кроме того, способ кодирования изображения согласно настоящему варианту осуществления был применен для тестирования программного обеспечения в соответствии с настоящим стандартом HEVC (непатентный документ 1) для экспериментов. Фиг. 37 показывает результаты экспериментов по сравнению с результатами без применения настоящего варианта осуществления. Условия экспериментов базируются на общих условиях экспериментов группы стандартов HEVC. Численные значения на фиг. 37 являются результатами относительно первых 49 кадров тестового изображения. Большее численное значение показывает более низкую эффективность кодирования. Отрицательное значение указывает улучшение эффективности кодирования. Как показано на фиг. 37, каждое из значений находится в пределах от -0,00% до 0,06%. Это означает, что на эффективность кодирования практически не оказывается влияния, даже если скорость обработки увеличивается, за счет устранения арифметического кодирования, которое использует контексты, или даже если общее количество контекстов уменьшается.
[0214] Следует отметить, что выше было описано, что устройство кодирования изображения определяет, на основе параметра бинаризации (cParam), который был обновлен для непосредственно предшествующего блока коэффициентов, следует ли кодировать greater1_flag и greater2_flag. Однако определение может быть выполнено на основе параметра бинаризации, который был обновлен для блока коэффициентов, отличного от непосредственно предшествующего блока коэффициентов. Например, устройство кодирования изображения может определить, что greater1_flag и greater2_flag не должны быть кодированы для следующих блоков коэффициентов, если cParam превышает 0 в обработке для любого обработанного блока коэффициентов. Блоки коэффициентов обрабатываются последовательно от блока более высокой частоты. Таким образом, если cParam любого из блоков коэффициентов превышает 0, другими словами, если найден коэффициент, имеющий абсолютное значение, которое больше или равно пороговому значению, то существует высокая вероятность того, что все последующие блоки коэффициентов имеют большие значения коэффициента. В приведенном выше случае, даже если greater1_flag и greater2_flag не закодированы, эффективность кодирования иногда не уменьшается.
[0215] Следует также отметить, что выше было описано, что устройство кодирования изображения не кодирует greater1_flag и greater2_flag, если cParam больше, чем 0, но настоящий вариант осуществления не ограничивается вышеуказанным. Например, можно также не кодировать greater1_flag и greater2_flag, если cParam больше, чем 1, или больше, чем 2. В зависимости от входного изображения, иногда можно повысить эффективность кодирования, если определение, следует ли кодировать greater1_flag и greater2_flag, делается на основе того, является ли cParam большим, чем 1.
[0216] Остальное соответствует описанному в варианте осуществления 1, так что повторное пояснение здесь не приводится.
[0217] (Вариант осуществления 4)
В варианте осуществления 4 приведено описание для устройства декодирования изображения, которое декодирует кодированный битовый поток, генерируемый устройством кодирования изображения согласно варианту осуществления 3. Устройство декодирования изображения согласно варианту осуществления 4, отличается от устройства декодирования изображения согласно варианту осуществления 2 тем, что модуль 232 декодирования уровня заменен на модуль 232А декодирования уровня. Ниже приведено описание модуля 232А декодирования уровня.
[0218] <Структура модуля 232А декодирования уровня>
Фиг. 38 - это блок-схема, показывающая структуру модуля 232А декодирования уровня. Модуль 232А декодирования уровня включает в себя не только структуру модуля 232 декодирования уровня в соответствии с вариантом осуществления 2, но также модуль 260 переключения greater_flag. Кроме того, функции модуля 241А выбора наборов контекста и модуля 247А арифметического декодирования отличаются от соответствующих функций модуля 241 выбора наборов контекста и модуля 247 арифметического декодирования.
[0219] <Обработка (Декодирование уровня)>
Далее, со ссылкой на фиг. 39, декодирование уровня будет описано более подробно. Декодирование уровня согласно варианту осуществления 2 дополнено новыми этапами от S601 до S603. Кроме того, этапы S341А и S371А отличаются от этапов S341 и S371, соответственно. Следует отметить, что этапы, идентичные этапам в варианте осуществления 2, далее повторно не поясняются.
[0220] (Этап S341А)
Модуль 241А выбора наборов контекста устанавливает (выбирает) соответствующие количества наборов контекста, подлежащие использованию в арифметическом декодировании над greater1_flag и арифметическом декодировании над greater2_flag. Способ выбора такой же, как при выборе наборов контекста (фиг. 36) в соответствии с вариантом осуществления 3. Другими словами, модуль 241А выбора наборов контекста не выбирает контекст на основе cParam.
[0221] (Этап S601)
Модуль 260 переключения greater_flag 260 определяет, является ли параметр бинаризации (cParam), который был обновлен в обработке над непосредственно предшествующим блоком коэффициентов, большим, чем 0. Таким же образом, как описано в варианте осуществления 2, модуль 260 переключения greater_flag 260 декодирует greater1_flag и greater2_flag, если параметр бинаризации равен 0, но не декодирует greater1_flag и greater2_flag, если параметр бинаризации больше, чем 0.
[0222] (Этапы S602, S603 и S371А)
Если параметр бинаризации (cParam), который был обновлен для непосредственно предшествующего блока коэффициентов, больше, чем 0, то модуль 247А арифметического декодирования устанавливает базовое значение остатка в 1. Если параметр бинаризации (cParam) равен 0, а модуль 247А установки остатка устанавливает базовое значение остатка в 3. Если базовое значение остатка равно 3 и greater2_flag целевого коэффициента равен 1, или если базовое значение остатка равно 1 и significant_flag целевого коэффициента равен 1, то модуль 232А декодирования уровня декодирует остаток на этапах S372 и S373. В противном случае, модуль 232А декодирования уровня не декодирует остаток. Если остаток декодируется, численное значение, полученное путем добавления базового значения остатка к декодированному остатку, является абсолютным значением целевого коэффициента.
[0223] <Эффекты>
Как описано выше, устройство декодирования изображения согласно настоящему варианту осуществления может предоставить те же самые эффекты, как описано в варианте осуществления 3.
[0224] В каждом из вышеописанных вариантов осуществления, каждый из функциональных блоков может быть реализован, как правило, как MPU (микропроцессор), память и т.п. Кроме того, обработка, выполняемая каждым из функциональных блоков, может быть реализована, как правило, программным обеспечением (программой), и программное обеспечение записывается на носитель записи, такой как ПЗУ (ROM). Затем такое программное обеспечение может распространяться, например, путем загрузки или может записываться на носитель записи, такой как ПЗУ на компакт-диске (CD-ROM) для последующего распространения. Кроме того, каждый из функциональных блоков может быть, разумеется, реализован в аппаратных средствах (специализированной схеме).
[0225] Обработка, описанная в каждом из вариантов осуществления, может выполняться как централизованная обработка посредством использования одного устройства (device) (системы) или как децентрализованная обработка с использованием множества устройств. Кроме того, описанная выше программа может исполняться одним компьютером или множеством компьютеров. Другими словами, как централизованная обработка, так и децентрализованная обработка могут выполняться по программе.
[0226] Хотя устройство кодирования изображения и устройство декодирования изображения были описаны со ссылкой на множества вариантов, как указано выше, настоящее изобретение не ограничивается этими вариантами осуществления.
[0227] Следует также отметить, что модули обработки в каждом из устройства кодирования изображения и устройства декодирования изображения в соответствии с вышеописанными вариантами осуществления, как правило, реализуются на интегральной схеме с высокой степенью интеграции (LSI, БИС). Они могут быть интегрированы в отдельности, или часть или все из них могут быть объединены в одной микросхеме.
[0228] Следует также отметить, что метод интегральной схемы не ограничивается БИС, и она может быть реализована в виде специализированной схемы или процессора общего назначения. Кроме того, можно использовать программируемую пользователем вентильную матрицу (FPGA), которая может программироваться после изготовления БИС, или процессор с изменяемой конфигурацией, в котором соединение и настройка схемных ячеек внутри БИС могут быть реконфигурированы.
[0229] Каждый из структурных элементов в каждом из вышеописанных вариантов осуществления может быть сконфигурирован в форме специализированного аппаратного продукта или может быть реализован путем исполнения программного обеспечения, подходящего для структурного элемента. Каждый из структурных элементов может быть реализован посредством исполняющего программу модуля, такого как CPU и процессор, считывающего и исполняющего программу программного обеспечения, записанного на носитель записи, такой как жесткий диск или полупроводниковая память.
[0230] Другими словами, каждое из устройства кодирования изображения и устройства декодирования изображения включает в себя: схему управления и средство хранения, электрически соединенное со схемой управления и доступное из схемы управления. Схема управления содержит по меньшей мере одно из специализированных аппаратных средств и исполняющего программу модуля. Средство хранения хранит программу программного обеспечения, исполняемую посредством исполняющего программу модуля, когда схема управления включает в себя исполняющий программу модуль.
[0231] Кроме того, настоящее изобретение может быть вышеописанной программой или может быть не временным считываемым компьютером носителем записи, на котором записана программа. Разумеется, программа может распространяться через передающую среду, такую как Интернет.
[0232] Кроме того, все числовые выражения в приведенном выше описании являются примерами для более подробного пояснения настоящего изобретения. Настоящее изобретение не ограничивается такими числовыми примерами.
[0233] Кроме того, разделение функциональных блоков в блок-схеме приведено в качестве примеров. Также возможно, что множество функциональных блоков выполнены в виде одного функционального блока, что один функциональный блок разделен на множество частей, или что частичная функция перемещена в другой функциональный блок. Кроме того, функции множества функциональных блоков, имеющих аналогичные функции, могут выполняться параллельно или в режиме временного разделения общим одним аппаратным средством или программным обеспечением.
[0234] Следует также отметить, что порядок исполнения этапов, включенных в каждый из вышеописанного способа кодирования изображения и вышеописанного способа декодирования изображения, является примером для пояснения настоящего изобретения более подробно. Таким образом, могут быть использованы различные порядки, кроме вышеописанного порядка. Часть из этапов могут исполняться одновременно (параллельно) с другим этапом.
[0235] Таким образом, хотя только некоторые примерные варианты осуществления устройства кодирования изображения и устройства декодирования изображения в соответствии с настоящим изобретением были подробно описаны выше, настоящее изобретение не ограничено этими вариантами осуществления. Специалистам в данной области техники будет легко понять, что различные модификации примерных вариантов осуществления и комбинаций структурных элементов различных вариантов осуществления возможны без существенного отклонения от решений и преимуществ настоящего изобретения. Соответственно, все такие модификации и комбинации предполагаются включенными в объем настоящего изобретения.
[0236] (Вариант осуществления 5)
Обработка, описанная в каждом из вариантов осуществления, может быть просто реализована в независимой компьютерной системе путем записи, на носителе записи, программы для реализации конфигураций способа кодирования движущегося изображения (способа кодирования изображения) и способа декодирования движущегося изображения (способа декодирования изображения), описанных в каждом из вариантов осуществления изобретения. Носителями записи могут быть любые носители записи при условии, что программа может быть записана, например, магнитный диск, оптический диск, магнитно-оптический диск, IC-карта и полупроводниковая память.
[0237] Далее будут описаны применения способа кодирования движущегося изображения (способа кодирования изображения) и способа декодирования движущегося изображения (способа декодирования изображения), описанными в каждом из вариантов осуществления, и системы с их использованием. Система имеет признак наличия устройства кодирования и декодирования изображения, которое включает в себя устройство кодирования изображения, использующее способ кодирования изображения, и устройство декодирования изображения, использующее способ декодирования изображения. Другие конфигурации в системе могут быть изменены по мере необходимости в зависимости от случаев.
[0238] Фиг. 40 иллюстрирует общую конфигурацию системы ех100 предоставления контента для реализации услуг распространения контента. Область предоставления услуг связи разделена на соты нужного размера, и базовые станции ех106, ех107, ех108, ех109 и ех110, которые являются фиксированными беспроводными станциями, расположены в каждой из сот.
[0239] Система ех100 предоставления контента соединена с устройствами, такими как компьютер ех111, персональный цифровой помощник (PDA) ех112, камера ех113, сотовый телефон ех114 и игровой автомат ех115, через Интернет ех101, поставщика ех102 Интернет-услуг, телефонную сеть ех104, а также базовые станции ех106 - ех110, соответственно.
[0240] Однако конфигурация системы ех100 предоставления контента не ограничивается конфигурацией, показанной на фиг. 40, и комбинация, в которой любые из элементов соединены, является приемлемой. Кроме того, каждое устройство может быть напрямую подключено к телефонной сети ех104, а не через базовые станции ех106 - ех110, которые являются фиксированными беспроводными станциями. Кроме того, эти устройства могут быть соединены друг с другом через беспроводную связь ближнего действия и т.д.
[0241] Камера ех113, например, цифровая видеокамера, способна захватывать видео. Камера ех116, например, цифровая камера, способна захватывать как неподвижные изображения и видео. Кроме того, сотовый телефон ех114 может быть таким, который удовлетворяет любому из стандартов, таких как Глобальная система мобильной связи (GSM) (зарегистрированный товарный знак), множественный доступ с кодовым разделением (CDMA), широкополосный множественный доступ с кодовым разделением (W-CDMA), Долгосрочное развитие (LTE) и Высокоскоростной пакетный доступ (HSPA). Кроме того, сотовый телефон ех114 может быть системой для персональных мобильных телефонов (PHS).
[0242] В системе ех100 предоставления контента потоковый сервер ех103 соединен с камерой ех113 и другими элементами через телефонную сеть ех104 и базовую станцию ех109, что позволяет осуществлять распространение изображений прямого эфира и т.п. При таком распространении, контент (например, видео музыкального шоу в прямом эфире), захваченный пользователем с помощью камеры ех113, кодируется, как описано выше, в каждом из вариантов осуществления (т.е. камера функционирует как устройство кодирования изображения в соответствии с аспектом настоящего изобретения), и кодированный контент передается на потоковый сервер ех103. С другой стороны, потоковый сервер ех103 осуществляет распространения потока передаваемых данных контента к клиентам по их запросам. Клиенты включают в себя компьютер ех111, PDA ех112, камерe ех113, сотовый телефон ех114 и игровой автомат ех115, которые способны декодировать вышеупомянутые кодированные данные. Каждое из устройств, которые приняли распространяемые данные, декодирует данные и воспроизводит кодированные данные (т.е., функционирует в качестве устройства декодирования изображения в соответствии с одним из аспектов настоящего изобретения).
[0243] Захваченные данные могут быть закодированы камерой ех113 или потоковым сервером ех103, который передает данные, или процессы кодирования могут быть разделены между камерой ех113 и потоковым сервером ех103. Кроме того, распространяемые данные могут быть декодированы клиентами или потоковым сервером ех103, или процессы декодирования могут быть разделены между клиентами и потоковым сервером ех103. Кроме того, данные неподвижных изображений и видео, захваченные не только камерой ех113, но и камерой ех116, могут быть переданы на потоковый сервер ех103 через компьютер ех111. Процессы кодирования могут выполняться камерой ех116, компьютером ех111 или потоковым сервером ех103 или разделяться между ними.
[0244] Кроме того, процессы кодирования и декодирования могут выполняться с помощью LSI (БИС) ех500, обычно включенной в каждый из компьютера ех111 и устройств. БИС ех500 может быть сконфигурирована из одной микросхемы или множества микросхем. Программное обеспечение для кодирования и декодирования видео может быть интегрировано в некоторый тип носителя записи (например, CD-ROM, гибкий диск и жесткий диск), который может считываться компьютером ех111 и т.п., и процессы кодирования и декодирования могут быть выполнены с использованием программного обеспечения. Кроме того, когда сотовый телефон ех114 оснащен камерой, видеоданные, полученные с помощью камеры, могут быть переданы. Видеоданные являются данными, кодированными с помощью БИС ех500, включенной в сотовой телефон ех114.
[0245] Кроме того, потоковый сервер ех103 может состоять из серверов и компьютеров и может выполнять децентрализацию данных и обрабатывать децентрализованные данные, записывать или распространять данные.
[0246] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ех100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, передаваемую пользователем, и воспроизводить декодированные данные в режиме реального времени в системе ех100 предоставления контента, так что пользователь, который не имеет какого-либо конкретного права и оборудования, может реализовать персональное вещание.
[0247] Помимо примера системы ех100 предоставления контента, по меньшей мере одно из устройства кодирования движущегося изображения (устройства кодирования изображения) и устройства декодирования движущегося изображения (устройства декодирования изображения), описанных в каждом из вариантов осуществления, могут быть реализованы в цифровой вещательной системе ех200, показанной на фиг. 41. Более конкретно, вещательная станция ех201 осуществляет связь или передает с помощью радиоволн на вещательный спутник ех202 мультиплексированные данные, полученные с помощью мультиплексирования аудиоданных и т.п. на видеоданные. Видеоданные являются данными, кодированными способом кодирования движущегося изображения, описанным в каждом из вариантов осуществления (т.е. данными, кодированными с помощью устройства кодирования изображения в соответствии с одним из аспектов настоящего изобретения). После приема мультиплексированных данных, вещательный спутник ех202 передает радиоволны для осуществления вещания. Затем, антенна ех204 домашнего использования с функцией приема спутникового вещания принимает радиоволны. Далее, устройство, такое как телевизор (приемник) ех300 и телевизионная приставка (STB) ех217, декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (т.е., функционирует в качестве устройства декодирования изображения в соответствии с одним из аспектов настоящего изобретения).
[0248] Кроме того, устройство ех218(i) считывания/записи считывает и декодирует мультиплексированные данные, записанные на носителе ех215 записи, таком как DVD и BD, или (i) кодирует видеосигналы на носителе ех215 записи, а в некоторых случаях записывает данные, полученные посредством мультиплексирования аудиосигнала на кодированные данные. Устройство ех218 считывания/записи может включать в себя устройство декодирования движущегося изображения или устройство кодирования движущегося изображения, как показано в каждом из вариантов осуществления изобретения. В этом случае воспроизведенные видеосигналы отображаются на мониторе ех219 и могут быть воспроизведены с помощью другого устройства или системы с использованием носителя ех215 записи, на котором записаны мультиплексированные данные. Кроме того, можно реализовать устройство декодирования движущегося изображения в устройстве ех217 телеприставки, подключенном к кабелю ех203 для кабельного телевидения, или к антенне ех204 для спутникового и/или наземного вещания, чтобы отображать видеосигналы на мониторе ех219 телевизора ех300. Устройство декодирования движущегося изображения может быть реализовано не в телеприставке, а в телевизоре ех300.
[0249] Фиг. 42 иллюстрирует телевизор (приемник) ех300, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления. Телевизор ех300 включает в себя: тюнер ех301, который получает и обеспечивает мультиплексированные данные, полученные с помощью мультиплексирования аудиоданных на видеоданных, через антенну ех204 или кабель ех203 и т.д., которые принимают вещание; модуль ех302 модуляции/демодуляции, который демодулирует принимаемые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые должны быть предоставлены вовне; и модуль ех303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, кодированные с помощью модуля ех306 обработки сигналов, в данные.
[0250] Телевизор ех300 дополнительно включает в себя: модуль ех306 обработки сигналов, включающий в себя модуль ех304 обработки аудиосигнала и модуль ех305 обработки видеосигнала, что декодировать аудиоданные и видеоданные и кодировать аудиоданные и видеоданные, соответственно (которые функционируют как устройство кодирования изображения и устройство декодирования изображения в соответствии с аспектами настоящего изобретения); и модуль ех309 вывода, включающий в себя громкоговоритель ех307, который обеспечивает декодированный аудиосигнал, и модуль ех308 отображения, который отображает декодированный видеосигнал, такой как дисплей. Кроме того, телевизор ех300 включает в себя модуль ех317 интерфейса, включающий в себя модуль ех312 операционного ввода, который принимает ввод пользовательской операции. Кроме того, телевизор ех300 включает в себя модуль ех310 управления, который управляет в целом каждым из составных элементов телевизора ех300, и модуль ех311 схемы питания, который подает питание на каждый из элементов. Помимо модуля ех312 операционного ввода, модуль ех317 интерфейса может включать в себя: мост ех313, который соединен с внешним устройством, таким как модуль ех218 считывания/записи; гнездовой модуль ех314 для обеспечения крепления носителя записи, такого как SD-карта; драйвер ех315, подлежащий подключению к внешнему носителю записи, такому как жесткий диск; и модем ех316, подлежащий подключению к телефонной сети. Здесь носитель ех216 записи может электрически записывать информацию с использованием элемента энергонезависимой/энергозависимой памяти для хранения. Составные элементы телевизора ех300 соединены друг с другом через синхронную шину.
[0251] Сначала будет описана конфигурация, в которой телевизор ех300 декодирует мультиплексированные данные, полученные извне через антенну ех204 и т.п., и воспроизводит декодированные данные. В телевизоре ех300, при операции пользователя через удаленный контроллер ех220 и т.п., модуль ех303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные модулем ех302 модуляции/демодуляции, под управлением модуля ех310 управления, включающим в себя CPU. Кроме того, модуль ех304 обработки аудиосигналов декодирует демультиплексированные аудиоданные, и модуль ех305 обработки видеосигнала декодирует демультиплексированные видеоданные, используя способ декодирования, описанный в каждом из вариантов осуществления, в телевизоре ех300. Модуль ех309 вывода выдает декодированный видеосигнал и аудиосигнал вовне, соответственно. Когда модуль ех309 вывода выдает видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ех318 и ех319 и других, так что сигналы воспроизводятся синхронно друг с другом. Кроме того, телевизор ех300 может считывать мультиплексированные данные не через вещание и т.п., а с носителя ех215 и ех216 записи, такого как магнитный диск, оптический диск и SD-карта. Далее будет описана конфигурация, в которой телевизор ех300 кодирует аудиосигнал и видеосигнал и передает данные вовне или записывает данные на носитель записи. В телевизоре ех300, при операции пользователя через дистанционный контроллер ех220 и т.п., модуль ех304 обработки аудиосигнала кодирует аудиосигнал, и модуль ех305 обработки видеосигнала кодирует видеосигнал, под управлением модуля ех310 управления с использованием способа кодирования, описанного в каждом из вариантов осуществления. Модуль ех303 мультиплексирования/демультиплексирования мультиплексирует кодированный видеосигнал и аудиосигнал и предоставляет результирующий сигнал вовне. Когда модуль ех303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ех320 и ех321 и других, так что сигналы воспроизводятся синхронно друг с другом. Здесь, буферы ех318, ех319, ех320 и ех321 могут быть во множестве, как показано, или по меньшей мере один буфер может совместно использоваться в телевизоре ех300. Кроме того, данные могут быть сохранены в буфере так, что можно избежать переполнения или недогрузки системы, например, между модулем ех302 модуляции/демодуляции и модулем ех303 мультиплексирования /демультиплексирования.
[0252] Кроме того, телевизор ех300 может включать в себя конфигурацию для приема входа AV с микрофона или камеры, отличную от конфигурации для получения аудио- и видеоданных из вещания или носителя записи, и может кодировать полученные данные. Хотя телевизор ех300 может кодировать, мультиплексировать и предоставлять вовне данные, как описано, он может быть способен только принимать, декодировать и предоставлять вовне данные, но не кодировать, мультиплексировать и предоставлять данные вовне.
[0253] Кроме того, когда модуль ех218 считывания/записи считывает или записывает мультиплексированные данные с или на носитель записи, один из телевизора ех300 и модуля ех218 считывания/записи может декодировать или кодировать мультиплексированные данные, и телевизор ех300 и модуль ех218 считывания/записи может совместно использовать декодирование или кодирование.
[0254] В качестве примера, фиг. 43 иллюстрирует конфигурацию модуля ех400 воспроизведения /записи информации, когда данные считываются или записываются с или на оптический диск. Модуль ех400 воспроизведения/записи информации включает в себя составные элементы ех401, ех402, ех403, ех404, ех405, ех406 и ех407, которые будут описаны ниже. Оптическая головка ех401 облучает лазерное пятно на поверхности записи носителя ех215 записи, которым является оптический диск для записи информации, и детектирует отраженный свет от поверхности записи носителя ех215 записи, чтобы считать информацию. Модуль ех402 записи модуляции электрически приводит в действие полупроводниковый лазер, включенный в оптическую головку ех401, и модулирует лазерный свет в соответствии с записанными данными. Модуль ех403 демодуляции воспроизведения усиливает сигнал воспроизведения, полученный путем электрического детектирования отраженного света от поверхности записи с использованием фотодетектора, включенного в оптическую головку ех401, и демодулирует сигнал воспроизведения путем отделения компонента сигнала, записанного на носитель ех215 записи, чтобы воспроизводить необходимую информацию. Буфер ех404 временно хранит информацию, подлежащую записи на носителе ех215 записи, и информацию, воспроизводимую с носителя ех215 записи. Двигатель ех405 диска вращает носитель ех215 записи. Модуль ех406 сервоуправления перемещает оптическую головку ех401 до предопределенной информационной дорожки, контролируя при этом привод вращения двигателя ех405 диска таким образом, чтобы следовать за лазерным пятном. Модуль ех407 системного управления осуществляет общее управление модулем ех400 воспроизведения/записи информации. Процессы считывания и записи могут быть реализованы модулем ех407 системного управления, использующим различную информацию, хранящуюся в буфере ех404, и генерирующим и добавляющим новую информацию по мере необходимости, а также модулем ех402 записи модуляции, модулем ех403 демодуляции воспроизведения и модулем ех406 сервоуправления, которые записывают и воспроизводят информацию через оптическую головку ех401 во время работы скоординированным образом. Модуль ех407 системного управления включает в себя, например, микропроцессор, и исполняет обработку, побуждая компьютер исполнять программу для считывания и записи.
[0255] Хотя оптическая головка ех401 облучает лазерное пятно согласно описанию, она может выполнять запись высокой плотности с использованием света ближнего поля.
[0256] Фиг. 44 иллюстрирует носитель ех215 записи, который является оптическим диском. На поверхности записи носителя ех215 записи спирально сформированы направляющие канавки, и информационная дорожка ех230 записывает заранее адресную информацию, указывающую абсолютное положение на диске в соответствии с изменением в форме направляющих канавок. Адресная информация включает в себя информацию для определения позиций блоков ех231 записи, которые являются единицей для записи данных. Воспроизведение информационной дорожки ех230 и считывание адресной информации в устройстве, которое записывает и воспроизводит данные, может привести к определению позиций блоков записи. Кроме того, носитель ех215 записи включает в себя область ех233 записи данных, внутреннюю периферийную область ех232 и внешнюю периферийную область ех234. Область ех233 записи данных является областью для использования в записи пользовательских данных. Внутренняя периферийная область ех232 и внешняя периферийная область ех234, которые находятся внутри и вне области ех233 записи данных, соответственно, предназначены для специального использования, за исключением записи пользовательских данных. Модуль 400 воспроизведения/записи информации считывает и записывает кодированное аудио, кодированные видеоданные или мультиплексированные данные, полученные посредством мультиплексирования кодированных аудио- и видеоданных из и на области ех233 записи данных носителя ех215 записи.
[0257] Хотя оптический диск, имеющий слой, такой как DVD и BD, описан в качестве примера в описании, оптический диск не ограничен таковым, и может представлять собой оптический диск, имеющий многослойную структуру и способный быть записанным на часть, а не на всю поверхность. Кроме того, оптический диск, может иметь структуру для многомерной записи/воспроизведения, например, записи информации с помощью света цветов с различными длинами волн в одной и той же части оптического диска, и для записи информации с помощью различных слоев под различными углами.
[0258] Кроме того, автомобиль ех+210, имеющий антенну ех205, может принимать данные со спутника ех202 и других, и воспроизводить видео на устройстве отображения, таком как автомобильная навигационная система ех+211, установленная в автомобиле ех210, в цифровой вещательной системе ех200. Здесь конфигурация автомобильной навигационной системы ех211 будет конфигурацией, например, включающей в себя GPS приемный модуль из конфигурации, показанной на фиг. 42. То же самое будет справедливо и для конфигурации компьютера ех111, сотового телефона ех114 и др.
[0259] Фиг. 45A иллюстрирует сотовый телефон ех114, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, описанные в вариантах осуществления. Сотовый телефон ех114 включает в себя: антенну ех350 для передачи и приема радиоволн через базовую станцию ех110; модуль ех365 камеры, способный захватывать движущееся и неподвижное изображения; и модуль ех358 отображения, такой как жидкокристаллический дисплей для отображения данных, таких как декодированное видео, захваченное модулем ех365 камеры, или принимаемое антенной ех350. Сотовый телефон ех114 дополнительно включает в себя: основной корпус, включающий в себя модуль ех366 операционных клавиш; модуль ех357 вывода аудио, такой как громкоговоритель для вывода аудио; модуль ех356 ввода аудио, такой как микрофон для ввода аудио; модуль ех367 памяти для хранения захваченного видео или фотоснимков, записанного аудио, кодированных или декодированных данных принятого видео, фотоснимков, электронной почты или другого; и гнездовой модуль ех364, который является модулем интерфейса для носителя записи, который хранит данные таким же образом, что и модуль ех367 памяти.
[0260] Далее, пример конфигурации сотового телефона ех114 будет описан со ссылкой на Фиг. 45B. В сотовом телефоне ех114 основной модуль ех360 управления, предназначенный для общего управления каждым модулем основного корпуса, включая модуль ех358 отображения, а также модуль ех366 операционных клавиш, соединен взаимно через модуль ех370 синхронной шины с модулем ех361 схемы питания, модулем ех362 управления операционным вводом, модулем ех355 обработки видеосигнала, модулем ех363 интерфейса камеры, модулем ех359 управления жидкокристаллическим дисплеем (LCD), модулем ех359 модуляции/демодуляции, модулем ех353 мультиплексирования/демультиплексирования, модулем ех354 обработки аудиосигнала, гнездовым модулем ех364 и модулем ех367 памяти.
[0261] Когда клавиша конца вызова или клавиша питания включается посредством пользовательской операции, модуль ех361 управления питанием снабжает соответствующе модули мощностью от аккумулятора, чтобы активировать сотовый телефон ех114.
[0262] В сотовом телефоне ех114, модуль ех354 обработки аудиосигнала блока ех354 преобразует аудиосигналы, полученные модулем ех356 ввода аудио в режиме голосового диалога, в цифровые аудиосигналы под управлением основного модуля ех360 управления, включающего CPU, ROM и RAM. Затем модуль ех352 модуляции/демодуляции выполняет обработку расширения спектра на цифровых аудиосигналах, и модуль ех351 передачи и приема выполняет цифро-аналоговое преобразование и частотное преобразование на данных так, чтобы передавать результирующие данные через антенну ех350. Кроме того, в сотовом телефоне ех114 модуль ех351 передачи и приема усиливает данные, принятые антенной ех350 в режиме голосового диалога, и выполняет частотное преобразование и аналого-цифровое преобразование на данных. Затем модуль ех352 модуляции/демодуляции выполняет обработку инверсии расширения спектра на данных, и модуль ех354 обработки аудиосигнала преобразует его в аналоговые аудиосигналы, чтобы вывести их через модуль ех357 вывода аудио.
[0263] Кроме того, когда электронная почта передается в режиме передачи данных, текстовые данные электронной почты, введенные приведением в действие модуля ех366 операционных клавиш и др. основного корпуса, отсылаются на основной модуль ех360 управления посредством модуля ех362 управления операционным вводом. Основной модуль ех360 управления побуждает модуль ех352 модуляции/демодуляции к выполнению обработки расширения спектра на текстовых данных, и модуль ех351 передачи и приема выполняет цифро-аналоговое преобразование и частотное преобразование на результирующих данных для передачи данных к базовой станции ех110 через антенну ех350. Когда принимается электронная почта, обработка, которая является примерно обратной обработке для передачи электронной почты, выполняется на полученных данных, и результирующие данные предоставляются на модуль ех358 отображения.
[0264] Когда видео, неподвижные изображения или видео и аудио передаются в режиме передачи данных, модуль ех355 обработки видео сигнала сжимает и кодирует видео сигналы, подаваемые из модуля ех365 камеры, с использованием способа кодирования движущегося изображения, показанного в каждом из вариантов осуществления (т.е., функционирует в качестве устройства кодирования изображения в соответствии с аспектом настоящего изобретения), и передает закодированные видеоданные на модуль ех353 мультиплексирования/демультиплексирования. В отличие от этого, когда модуль ех365 камеры захватывает видео, неподвижные изображения и другое, модуль ех354 обработки аудиосигнала кодирует аудиосигналы, полученные модулем ех356 ввода аудио, и передает кодированные аудиоданные в модуль ех353 мультиплексирования/демультиплексирования.
[0265] Модуль ех353 мультиплексирования/ демультиплексирования мультиплексирует кодированные видеоданные, переданные из модуля ех355 обработки видеосигнала, и кодированные аудиоданные, переданные из модуля ех354 обработки аудиосигнала, с использованием предопределенного способа. Затем модуль ех352 модуляции/демодуляции (модуль схемы модуляции/ демодуляции) выполняет обработку расширения спектра на мультиплексированных данных, и модуль ех351 передачи и приема выполняет цифро-аналоговое преобразование и частотное преобразование на данных, чтобы передавать результирующие данные через антенну ех350.
[0266] При приеме данных из видеофайла, который связан с веб-страницей и др. в режиме передачи данных, или при приеме сообщения электронной почты с видео- и/или аудиовложением, для того чтобы декодировать мультиплексированные данные, принятые через антенну ех350, модуль ех353 мультиплексирования/ демультиплексирования демультиплексирует мультиплексированные данные в битовый поток видеоданных и битовый поток аудиоданных и подает на модуль ех355 обработки видеосигнала кодированные видеоданные и на модуль ех354 обработки аудиосигнала кодированные аудиоданные через синхронную шину ех370. Модуль ех355 обработки видеосигнала декодирует видеосигнал, используя способ декодирования движущегося изображения, соответствующий способу кодирования движущегося изображения, показанного в каждом из вариантов осуществления (т.е. функционирует как устройство декодирования изображения в соответствии с аспектом настоящего изобретения), а затем модуль ех358 отображения отображает, например, видео и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей, через модуль ех359 управления LCD. Кроме того, модуль ех354 обработки аудиосигнала декодирует аудиосигнал, и модуль ех3578 вывода аудио выдает аудио.
[0267] Кроме того, подобно телевизору ех300, терминал, такой как сотовый телефон ех114, вероятно, имеет 3 типа конфигураций реализации, включающих в себя не только (i) передающий и приемный терминал, включающий в себя как устройство кодирования, так и устройство декодирования, но и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя цифровая вещательная система ех200 в описании принимает и передает мультиплексированные данные, полученные путем мультиплексирования аудиоданных на видеоданные, мультиплексированные данные могут быть данными, полученными посредством мультиплексирования не аудиоданных, а символьных данных, относящихся к видео, на видеоданных, и могут быть не мультиплексированными данными, а самими видеоданными.
[0268] Таким образом, способ кодирования движущихся изображений и способ декодирования движущегося изображения в каждом из вариантов осуществления может быть использован в любом из описанных устройств и систем. Таким образом, преимущества, описанные в каждом из вариантов осуществления, могут быть получены.
[0269] Кроме того, различные модификации и изменения могут быть сделаны в любом из вариантов осуществления в настоящем изобретении.
[0270] (Вариант осуществления 6)
Видеоданные могут генерироваться путем переключения, по мере необходимости, между (i) способом кодирования движущегося изображения или устройством кодирования движущегося изображения, показанными в каждом из вариантов осуществления, и (ii) способом кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с другим стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1.
[0271] Здесь, когда множество видеоданных, которые соответствует различным стандартам, генерируется и затем декодируется, способы декодирования должны быть выбраны, чтобы соответствовать различным стандартам. Однако, поскольку невозможно определить стандарт, которому соответствуют каждые из множества видеоданных, подлежащих декодированию, существует проблема, состоящая в том, что подходящий способ декодирования не может быть выбран.
[0272] Для того чтобы решить эту проблему, мультиплексированные данные, полученные с помощью мультиплексирования аудиоданных и др. на видео данных, имеют структуру, включающую идентификационную информацию, указывающую какому стандарту соответствует видеоданные. Конкретная структура мультиплексированных данных, включающих в себя видео данные, сгенерированные в способе кодирования движущегося изображения и устройством кодирования движущегося изображения, показанным в каждом из вариантов осуществления, будет описана ниже. Мультиплексированными данными является цифровой поток в формате MPEG-2 транспортного потока.
[0273] Фиг. 46 иллюстрирует структуру мультиплексированных данных. Как показано на фиг. 46, мультиплексированные данные могут быть получены посредством мультиплексирования по меньшей мере одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео из фильма, аудиопоток (IG) представляет собой первичную часть аудио и вторичную часть аудио, которая подлежит смешиванию с первичной частью аудио, и поток презентационной графики представляет субтитры фильма. Здесь, первичное видео является нормальным видео, подлежащим отображению на экране, и вторичное видео представляет собой видео, подлежащее отображению в меньшем окне в первичном видео. Кроме того, поток интерактивной графики представляет собой интерактивный экран, который будет генерироваться путем размещения компонентов графического пользовательского интерфейса (GUI) на экране. Видеопоток кодируется в способе кодирования движущегося изображения или устройством кодирования движущегося изображения, показанным в каждом из вариантов осуществления, или в способе кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с обычным стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1. Аудиопоток кодируется в соответствии с такими стандартами, как Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD и линейная PCM.
[0274] Каждый поток, включенный в мультиплексированный данных, идентифицируется посредством PID. Например, 0x1011 выделяется видеопотоку, подлежащему использованию для видео фильма, от 0x1100 до 0x111F выделяются аудиопотоку, от 0x1200 до 0x121F выделяются для потоков презентационной графики, от 0x1400 до 0x141F выделяются для потоков интерактивной графики, от 0x1B00 до 0x1B1F выделяются для видеопотоков, подлежащих использованию для вторичного видео фильма, и от 0x1A00 до 0x1A1F выделяются для потоков аудио, подлежащих использованию для вторичного аудио, подлежащего смешиванию с первичным аудио.
[0275] Фиг. 47 схематично иллюстрирует, как мультиплексированы данные. Во-первых, видеопоток ех235, состоящий из видеокадров, и аудиопоток ех238, состоящий из аудиокадров, преобразуются в поток PES-пакетов ех236 и поток PES-пакетов ех239 и далее в TS-пакеты ех237 и TS-пакеты ех240, соответственно. Кроме того, данные потока ех241 презентационной графики и данные потока ех244 интерактивной графики преобразуются в поток PES-пакетов ех242 и поток PES-пакетов ех245 и далее в TS-пакеты ех243 и TS-пакеты ех246, соответственно. Эти TS-пакеты мультиплексируются в поток, чтобы получить мультиплексированные данные ех247.
[0276] Фиг. 48 более подробно показывает, как видеопоток сохраняется в потоке PES-пакетов. Первая строка на фиг. 48 показывает поток видео кадров в видеопотоке. Вторая строка показывает поток PES-пакетов. Как показано стрелками, обозначенными как yy1, yy2, yy3 и yy4 на фиг. 48, видео поток разделяется на изображения (картинки) как I-картинки, В-картинки и Р-картинки, каждая из которых является единицей видео-презентации, и картинки хранятся в полезной нагрузке каждого из PES-потоков. Каждый из PES-пакетов имеет PES-заголовок, и PES- заголовок хранит временную метку презентации (PTS), указывающую время отображения картинки, и временную метку декодирования (DTS), указывающую время декодирования картинки.
[0277] Фиг. 49 иллюстрирует формат 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, метка времени прихода). АТS показывает начальное время передачи, в которое каждый из пакетов TS должен передаваться к PID фильтру. Исходные пакеты упорядочиваются в мультиплексированные данные, как показано в нижней части фиг. 49. Числа, возрастающие от начала мультиплексированных данных, называются номерами исходных пакетов (SPN).
[0278] Каждый из TS-пакетов, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитров и другие, но также таблицу с перечнем программ потока с их идентификаторами (PAT), таблицу структуры программ (PMT) и поле эталонных часов (PCR). PAT показывает, какой PID в PMT использован в мультиплексированных данных, и PID самого PAT зарегистрирован в качестве нуля. PMT сохраняет PID потоков видео, аудио, субтитров и другого, включенных в мультиплексированные данных, и информацию атрибутов потоков, соответствующих PID. PMT также имеет различные дескрипторы, относящиеся к мультиплексированным данным. Дескрипторы имеют информацию, такую как информация управления копированием, указывающую, разрешено ли копирование мультиплексированных данных или нет. PCR хранит STC информацию о времени, соответствующую АТS, показывающему, когда пакет PCR передается в декодер, чтобы достичь синхронизации между часами времени прихода (ATC), которое представляет собой временную ось ATS, и часами системного времени (STC), которое представляет собой временную ось PTS и DTS.
[0279] Фиг. 50 более детально иллюстрирует структуру данных РМТ. РМТ-заголовок расположен сверху РМТ. РМТ-заголовок описывает длину данных, включенных в РМТ, и другое. Множество дескрипторов, относящихся к мультиплексированным данным, расположено после РМТ-заголовка. Информация, такая как информация управления копированием, описана в дескрипторах. После дескрипторов расположено множество частей информации потока, относящейся к потокам, включенным в мультиплексированные данные. Каждая часть информации потока включает в себя дескрипторы потока, каждый из которых описывает информацию, такую как тип потока, для идентификации кодека сжатия потока, PID потока и информацию атрибутов потока (такую как частота кадров или формат кадра). Дескрипторы потока по количеству равны количеству потоков в мультиплексированных данных.
[0280] Когда мультиплексированные данные записываются на носитель записи и другое, они записываются вместе с файлами информации мультиплексированных данных.
[0281] Каждый из файлов информации мультиплексированных данных является информацией управления мультиплексированных данных, как показано на Фиг. 51. Файлы информации мультиплексированных данных находятся в однозначном соответствии с мультиплексированными данными, и каждый из файлов содержит информацию мультиплексированных данных, информацию атрибутов потока и карту элементов записи.
[0282] Как показано на фиг. 51, информация мультиплексированных данных включает в себя скорость системы, время начала воспроизведения и время конца воспроизведения. Скорость системы указывает на максимальную скорость передачи, при которой целевой декодер системы, описанный далее, передает мультиплексированные данные в PID фильтр. Интервалы АТS, включенные в мультиплексированные данные, установлены на значение не выше, чем скорость системы. Время начала воспроизведения указывает PTS в видеокадре в начале мультиплексированных данных. Интервал в один кадр добавлен к PTS в видеокадре в конце мультиплексированных данных, и PTS установлен на время конца воспроизведения.
[0283] Как показано на фиг. 52, часть информации атрибутов регистрируется в информации атрибутов потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждая часть информации атрибутов имеет различную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждая часть информации атрибутов видеопотока несет информацию, включающую то, какой тип кодека сжатия используется для сжатия видеопотока, и разрешение, формат кадра и частоту кадров частей данных картинок, которые включены в видеопоток. Каждая часть информации атрибутов аудиопотока несет информацию, включающую в себя то, какой тип кодека сжатия используется для сжатия аудиопотока, сколько каналов включены в аудиопоток, какой язык поддерживает аудиопоток, и насколько высока частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера перед тем, как плеер будет воспроизводить информацию.
[0284] В настоящем варианте осуществления, мультиплексированные данные, подлежащие использованию, представляют собой тип потока, включенный в РМТ. Кроме того, когда мультиплексированные данные записываются на носитель записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. Более конкретно, способ кодирования движущегося изображения или устройство кодирования движущегося изображения, описанные в каждом из вариантов осуществления, включают в себя этап или модуль для распределения уникальной информации, указывающей видеоданные, генерируемые способом кодирования изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления, для типа потока, включенного в РМТ или информацию атрибутов видеопотока. При такой конфигурации, видеоданные, генерируемые способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанным в каждом из вариантов осуществления, могут различаться от видеоданных, которые соответствуют другому стандарту.
[0285] Кроме того, фиг. 53 иллюстрирует этапы способа декодирования движущегося изображения в соответствии с настоящим вариантом осуществления. На этапе ехS100 тип потока, включенный в РМТ, или информация атрибутов видеопотока, включенная в информацию мультиплексированных данных, получается из мультиплексированных данных. Затем, на этапе ехS101, определяют, указывает ли тип потока или информация атрибутов видеопотока, что мультиплексированные данные генерированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления. Когда определено, что тип потока или информация атрибутов видеопотока указывает, что мультиплексированные данные сгенерированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления, на этапе ехS102 выполняется декодирование способом декодирования движущегося изображения в каждом из вариантов осуществления. Кроме того, если тип потока или информация атрибутов видеопотока указывает на соответствие с обычными стандартами, такими как MPEG-2, MPEG-4 AVC, и VC-1, на этапе ехS103 декодирование выполняется способом декодирования движущегося изображения в соответствии с обычными стандартами.
[0286] Таким образом, выделение нового уникального значения типу потока или информации атрибутов видеопотока позволяет определить, может ли способ декодирования изображения или устройство декодирования движущегося изображения, описанное в каждом из вариантов осуществления, выполнять декодирование. Даже когда вводятся мультиплексированные данные, соответствующие некоторому другому стандарту, может быть выбран соответствующий способ или устройство декодирования. Таким образом, становится возможным декодирование информации без каких-либо ошибок. Кроме того, способ или устройство кодирования движущегося изображения или способ или устройство декодирования движущегося изображение в настоящем варианте осуществления могут быть использованы в устройствах и системах, описанных выше.
[0287] (Вариант осуществления 7)
Каждый из способа кодирования движущегося изображения, устройства кодирования движущегося изображения, способа декодирования движущегося изображения и устройства декодирования движущегося изображения в каждом из вариантов осуществления, как правило, реализуется в форме интегральной схемы или интегральной схемы с высокой степенью интеграции (LSI, БИС). В качестве примера БИС, фиг. 54 иллюстрирует конфигурацию БИС ех500, которая выполнена в одной микросхеме. БИС ех500 включает в себя элементы ех501, ех502, ех503, ех504, ех505, ех506, ех507, ех508 и ех509, которые будут описаны ниже, причем элементы соединены друг с другом через шину ех510. Модуль ех505 схемы питания активируется путем подачи мощности на каждый из элементов, когда модуль ех505 схемы питания включается.
[0288] Например, когда выполняется кодирование, БИС ех500 получает AV сигнал от микрофона ех117, камеры ех113 и другого через AV ввод-вывод ех509 под управлением модуля ех501 управления, включающего в себя CPU ех502, контроллер ех503 памяти, контроллер ех504 потока и модуль ех512 управления частотой возбуждения. Принятый AV сигнал временно сохраняется во внешней памяти ех511, такой как SDRAM. Под управлением модуля ех501 управления сохраненные данные сегментируются на порции данных в соответствии с объемом и скоростью обработки, чтобы передаваться в модуль ех507 обработки сигналов. Затем модуль ех507 обработки сигналов кодирует аудиосигнал и/или видеосигнал. Здесь кодирование видеосигнала является кодированием, описанным в каждом из вариантов осуществления. Кроме того, модуль ех507 обработки сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и ввод-вывод (I/O) ех506 потока выдает мультиплексированные данные вовне. Выведенные мультиплексированные данные передаются на базовую станцию ех107 или записываются на носитель ех215 записи. Если наборы данных мультиплексированы, эти данные должны быть временно сохранены в буфере ех508, так что наборы данных синхронизированы друг с другом.
[0289] Хотя память ех511 является элементом внешним относительно БИС ех500, она может быть включена в БИС ех500. Буфер ех508 не ограничивается одним буфером, но может состоять из буферов. Кроме того, БИС ех500 может быть выполнена на одной микросхеме или множестве микросхем.
[0290] Кроме того, хотя модуль ех501 управления включает в себя CPU ех502, контроллер ех503 памяти, контроллер ех504 потока, модуль ех512 управления частотой возбуждения, конфигурация модуля ех501 управления не ограничивается этим. Например, модуль ех507 обработки сигналов может дополнительно включать в себя CPU. Включение другого CPU в модуль ех507 обработки сигналов может улучшить скорость обработки. Кроме того, в качестве другого примера, CPU ех502 может служить в качестве модуля ех507 обработки сигналов или быть его частью и, например, может включать в себя модуль обработки аудиосигнала. В таком случае, модуль ех501 управления включает в себя модуль ех507 обработки сигналов, или CPU ех502 включает в себя часть модуля ех507 обработки сигналов.
[0291] Термином, используемым здесь, является БИС, но это также может определяться как интегральная схема (IC, ИС), система БИС, супер-БИС или ультра-БИС в зависимости от степени интеграции.
[0292] Кроме того, способы достижения интеграции не ограничиваются БИС, и специализированная схема или процессор общего назначения и т.д. может также реализовывать интеграцию. Программируемая пользователем вентильная матрица (FPGA), которая может быть запрограммирована после изготовления БИС, или процессор с изменяемой конфигурацией, которые позволяют изменять соединение или конфигурацию БИС, могут быть использованы с той же целью.
[0293] В будущем, с прогрессом в технологии полупроводников, совершенно новая технология может заменить БИС. Функциональные блоки могут быть интегрированы с использованием такой технологии. Возможно также, что настоящее изобретение будет применяться к биотехнологии.
[0294] (Вариант осуществления 8)
Когда видеоданные, сгенерированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, декодируются, по сравнению с тем, когда декодируются видеоданные, которые соответствуют обычным стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1, объем обработки, вероятно, увеличивается. Таким образом, БИС ех500 требуется установить на частоту возбуждения более высокую, чем у CPU ех502, который должен использоваться, когда декодируются видеоданные в соответствии с обычным стандартом. Однако когда частота возбуждения устанавливается выше, имеет место проблема, состоящая в том, что потребление мощности повышается.
[0295] Для того чтобы решить эту проблему, устройство декодирования движущегося изображения, такое как телевизор ех300 и БИС ех500, конфигурируется, чтобы определять, какому стандарту соответствуют видеоданные, и переключаться между частотами возбуждения в соответствии с определенным стандартом. Фиг. 55 иллюстрирует конфигурацию ех800 в настоящем варианте осуществления. Модуль ех803 переключения частоты возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения, когда видеоданные генерируются способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления. Затем, модуль ех803 переключения частоты возбуждения инструктирует модуль ех801 обработки декодирования, который исполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, чтобы декодировать видеоданные. Когда видеоданные соответствует общепринятому стандарту, модуль ех803 переключения частоты возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем для видеоданных, полученных с помощью способа кодирования движущегося изображения или устройства кодирования движущегося изображения, описанных в каждом из вариантов осуществления. Затем, модуль ех803 переключения частоты возбуждения инструктирует модуль ех802 обработки декодирования, который соответствует общепринятому стандарту, чтобы декодировать видеоданные.
[0296] Более конкретно, модуль ех803 переключения частоты возбуждения включает в себя CPU ех502 и модуль ех512 управления частотой возбуждения по фиг. 54. Здесь каждый из модуля ех801 обработки декодирования, который исполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и модуля ех802 обработки декодирования, который соответствует общепринятому стандарту, соответствует модулю ех507 обработки сигнала по фиг. 54. CPU ex502 определяет, какому стандарту соответствуют видеоданные. Затем модуль ех512 управления частотой возбуждения определяет частоту возбуждения на основе сигнала от CPU ex502. Кроме того, модуль ех507 обработки сигнала декодирует видеоданные на основе сигнала от CPU ex502. Например, идентификационная информация, описанная в варианте осуществления 6, может использоваться для идентификации видеоданных. Идентификационная информация не ограничивается описанной в варианте осуществления 6, но может быть любой информацией, если эта информация указывает, какому стандарту соответствует видеоданные. Например, если то, какому стандарту соответствуют видеоданные, может быть определено на основе внешнего сигнала для определения того, что видеоданные используются для телевизора или диска и т.д., определение может быть выполнено на основе такого внешнего сигнала. Кроме того, CPU ех502 выбирает частоту возбуждения на основе, например, справочной таблицы, в которой стандарты видеоданных ассоциированы с частотами возбуждения, как показано на фиг. 57. Частота возбуждения может быть выбрана посредством сохранения справочной таблицы в буфере ех508 и во внутренней памяти БИС и со ссылкой на справочную таблицу посредством CPU ex502.
[0297] Фиг. 56 иллюстрирует этапы для исполнения способа в настоящем варианте осуществления. Сначала на этапе exS200 модуль ех507 обработки сигнала получает идентификационную информацию из мультиплексированных данных. Затем на этапе exS201 CPU ex502 определяет, сгенерированы ли видеоданные посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления, на основе идентификационной информации. Если видеоданные сгенерированы посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления, то на этапе exS202 CPU ex502 передает сигнал для установки частоты возбуждения на более высокую частоту возбуждения в модуль ех512 управления частотой возбуждения. Затем модуль ех512 управления частотой возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения. С другой стороны, когда идентификационная информация указывает, что видеоданные соответствует общепринятому стандарту, например, MPEG-2, MPEG-4 AVC и VC-1, на этапе ехS203 CPU ex502 передает сигнал для установки частоты возбуждения на более низкую частоту в модуль ех512 управления частотой возбуждения. Затем модуль ех512 управления частотой возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем в случае, когда видеоданные сгенерированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом варианте осуществления.
[0298] Кроме того, наряду с переключением частот возбуждения, эффект сбережения мощности может быть улучшен путем изменения напряжения, подаваемого на БИС ех500 или устройство, включающее в себя БИС ех500. Например, когда частота возбуждения установлена более низкой, напряжение, подаваемое на БИС ех500 или устройство, включающее в себя БИС ех500, может устанавливаться на напряжение более низкое, чем в случае, если частота возбуждения установлена более высокой.
[0299] Кроме того, когда объем обработки для декодирования больше, частота возбуждения может быть установлена более высокой, а когда объем обработки для декодирования меньше, частота возбуждения может быть установлена ниже в качестве способа установки частоты возбуждения. Таким образом, способ установки не ограничивается описанным выше. Например, когда объем обработки для декодирования видеоданных в соответствии с MPEG-4 AVC больше, чем объем обработки для декодирования видео данных, сгенерированных способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, частота возбуждения может устанавливаться в порядке, обратном установке, описанной выше.
[0300] Кроме того, способ для установки частоты возбуждения не ограничивается способом для установки частоты возбуждения более низкой. Например, когда идентификационная информация указывает, что видеоданные генерируются способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, напряжение, подаваемое на БИС ех500 или устройство, включающее в себя БИС ех500, может устанавливаться выше. Когда идентификационная информация указывает, что видеоданные соответствуют общепринятому стандарту, например, MPEG-2, MPEG-4 AVC и VC-1, напряжение, подаваемое на БИС ех500 или устройство, включающее в себя БИС ех500, может устанавливаться ниже. В качестве другого примера, когда идентификационная информация указывает, что видеоданные генерируются способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, приведение в действие CPU ех502, вероятно, не потребуется приостанавливать. Когда идентификационная информация указывает, что видеоданные соответствует общепринятому стандарту, например, MPEG-2, MPEG-4 AVC и VC-1, приведение в действие CPU ех502, вероятно, приостанавливается в данный момент времени, потому что CPU ex502 имеет дополнительную производительность обработки. Даже тогда, когда идентификационная информация указывает, что видеоданные генерируются способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, в случае, когда CPU ex502 имеет дополнительную производительность обработки, приведение в действие CPU ех502 может приостанавливаться в данный момент времени. В таком случае, время приостановки, вероятно, устанавливается меньшим, чем в случае, когда идентификационная significant_flag информация указывает, что видеоданные соответствует общепринятому стандарту, например, MPEG-2, MPEG-4 AVC и VC-1.
[0301] Соответственно, эффект сбережения мощности может быть улучшен путем переключения между частотами возбуждения в соответствии со стандартом, которому соответствуют видеоданные. Кроме того, когда БИС ех500 или устройство, включающее в себя БИС ех500, приводится в действие с использованием аккумулятора, срок службы батареи может быть продлен за счет эффекта сбережения мощности.
[0302] (Вариант осуществления 9)
Имеются случаи, когда множество видеоданных, которые соответствуют различным стандартам, подаются на устройства и системы, такие как телевизор и сотовый телефон. Для того чтобы декодировать множество видеоданных, которые соответствует различным стандартам, модуль ех507 обработки сигнала БИС ех500 должен соответствовать различным стандартам. Однако возникают проблемы увеличения степени интеграции БИС ех500 и увеличения стоимости при индивидуальном использовании модулей ех507 обработки сигнала, которые отвечают соответствующим стандартам.
[0303] Для того чтобы решить эту проблему, предложена конфигурация, в которой модуль обработки декодирования для реализации способа декодирования движущегося изображения, описанного в каждом из вариантов осуществления, и модуль обработки декодирования, который соответствует общепринятому стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, частично используются совместно. Ex900 на фиг. 58A показывает пример такой конфигурации. Например, способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и способ декодирования движущегося изображения, который соответствует MPEG-4 AVC, имеют, частично общие детали обработки, такие как энтропийное кодирование, обратное квантование, фильтрация устранения блочности и предсказание, скомпенсированное по движению. Детали обработки для совместного использования могут включать в себя использование модуля ех902 обработки декодирования, который соответствует MPEG-4 AVC. В отличие от этого, выделенный модуль ех901 обработки декодирования может использоваться для другой обработки, которая является уникальной для аспекта настоящего изобретения и не соответствует MPEG-4 AVC. Поскольку аспект настоящего изобретения характеризуется энтропийным декодированием, в частности, например, выделенный модуль ех901 обработки декодирования используется для энтропийного декодирования. В противном случае, модуль обработки декодирования может совместно использоваться для одного из обратного квантования, фильтрации устранения блочности и компенсации движения или всей обработки. Модуль обработки декодирования для реализации способа декодирования движущегося изображения, описанного в каждом из вариантов осуществления, может совместно использоваться для совместно используемой обработки, и выделенный модуль обработки декодирования может быть использован для обработки уникальной для MPEG-4 AVC.
[0304] Кроме того, ех1000 на фиг. 58B показывает еще один пример, того, что обработка частично разделена. Этот пример использует конфигурацию, включающую в себя выделенный модуль ех1001 обработки декодирования, который поддерживает обработку, уникальную для аспекта настоящего изобретения, выделенный модуль ех1002 обработки декодирования, который поддерживает обработку, уникальную для другого общепринятого стандарта, и модуль ех1003 обработки декодирования, который поддерживает обработку, совместно используемую между способом декодирования движущегося изображения в соответствии с аспектом настоящего изобретения и обычным способом декодирования движущегося изображения. Здесь, выделенные модули ех1001 и ех1002 обработки декодирования не обязательно специализированы для обработки в соответствии с аспектом настоящего изобретения и обработки общепринятого стандарта, соответственно, и могут быть любыми, допускающими реализацию общей обработки. Кроме того, конфигурация настоящего варианта осуществления может быть реализована посредством БИС ех500.
[0306] Таким образом, уменьшение степени интеграции БИС и снижение стоимости возможны за счет совместного использования модуля обработки декодирования для обработки, совместно используемой между способом декодирования движущегося изображения в соответствии с аспектом настоящего изобретения и способом декодирования движущегося изображения в соответствии с общепринятым стандартом.
[0306] Промышленная применимость
Настоящее изобретение может быть применено к способам кодирования изображения, способам декодирования изображения, устройствам кодирования изображения и устройствам декодирования изображений. Настоящее изобретение также применимо к устройствам отображения информации высокого разрешения или устройствам формирования изображений, таким как телевизоры, цифровые видеомагнитофоны, автомобильные навигационные системы, портативные телефоны, цифровые камеры, каждое из которых включает в себя устройство кодирования изображения.
Перечень ссылочных позиций
[0307]
100 устройство кодирования изображения
101 модуль разделения на блоки кодирования
102 модуль вычитания
103 модуль преобразования
104 модуль кодирования c переменной длиной слова
105, 202 модуль обратного преобразования
106, 203 модуль суммирования
107, 205 память кадров
108 модуль предсказания
121 входное изображение
122 блок кодирования
123, 126, 223 дифференциальный блок
124, 222 коэффициент частоты (коэффициент)
125, 221 кодированный поток
127, 224 декодированный блок
128, 225, 226 декодированное изображение
129 блок предсказания
131 модуль разделения на блоки коэффициентов
132 модуль кодирования significant_flag
133, 133А модуль кодирования уровня
134 модуль кодирования sign_flag
141 модуль установки greater1_flag
142 модуль установки greater2_flag
143, 143А модуль установки остатка
144, 248 модуль обновления параметра бинаризации
145, 145А, 241, 241А модуль выбора наборов контекста
146, 243 память greater1_flag
147, 242 модуль выбора контекста greater1_flag
148, 244 память контекста greater1_flag
149, 245 модуль выбора контекста greater2_flag
150, 246 память контекста greater2_flag
151 модуль арифметического кодирования
152 модуль бинаризации остатка
153 модуль определения префикса-суффикса
154 модуль вывода бина суффикса
155 модуль вывода бина префикса
160, 260 модуль переключения greater_flag
200 устройство декодирования изображения
201 модуль декодирования c переменной длиной слова
204 модуль объединения декодированных блоков
231 модуль декодирования significant_flag
232, 232А модуль декодирования уровня
233 модуль декодирования sign_flag
234 модуль декодирования коэффициента
247, 247А модуль арифметического декодирования
249 модуль многозначного остатка
250 модуль декодирования префикса
251 модуль декодирования суффикса
252 модуль объединения префикса-суффикса
Изобретение относится к области вычислительной техники для декодирования изображений. Технический результат заключается в уменьшении объема обработки при одновременном подавлении ухудшения эффективности декодирования. Технический результат достигается за счет выбора первого контекста, подлежащего использованию при арифметическом декодировании первого флага целевого коэффициента в целевом блоке коэффициентов, причем выбор контекста, подлежащего использованию при арифметическом декодировании первого флага, основан, по меньшей мере частично, на результате определения, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем пороговое значение; арифметического декодирования первого флага с использованием первого контекста; выбора второго контекста, подлежащего использованию при арифметическом декодировании второго флага целевого коэффициента в целевом блоке коэффициентов, причем выбор контекста, подлежащего использованию при арифметическом декодировании второго флага, основан, по меньшей мере частично, на результате определения, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем упомянутое пороговое значение, и арифметического декодирования второго флага с использованием второго контекста; при этом пороговое значение равно 1. 3 н. и 14 з.п. ф-лы, 63 ил.
1. Способ декодирования изображения, содержащий:
определение, включает ли в себя непосредственно предшествующий блок коэффициентов, который был декодирован непосредственно перед целевым блоком коэффициентов, коэффициент, имеющий абсолютное значение, большее, чем пороговое значение;
выбор первого контекста, подлежащего использованию при
арифметическом декодировании первого флага целевого коэффициента в целевом блоке коэффициентов, причем выбор контекста, подлежащего использованию при арифметическом декодировании первого флага, основан, по меньшей мере частично, на результате определения, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем пороговое значение;
арифметическое декодирование первого флага с использованием первого контекста;
выбор второго контекста, подлежащего использованию при арифметическом декодировании второго флага целевого коэффициента в целевом блоке коэффициентов, причем выбор контекста, подлежащего использованию при арифметическом декодировании второго флага, основан, по меньшей мере частично, на результате определения, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем упомянутое пороговое значение; и
арифметическое декодирование второго флага с использованием второго контекста;
при этом пороговое значение равно 1.
2. Способ по п. 1, в котором первый флаг указывает, больше ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов, чем 1.
3. Способ по п. 1, в котором второй флаг указывает, больше ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов, чем 2.
4. Способ по п. 1, в котором определение того, включает ли непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем пороговое значение, основано, по меньшей мере частично, на переменной, генерируемой после арифметического декодирования над непосредственно предшествующим блоком коэффициентов.
5. Способ по п. 1, дополнительно содержащий бинаризацию остатка согласно таблице преобразования, назначенной параметром бинаризации из числа множества таблиц преобразования, когда абсолютное значение целевого коэффициента больше, чем 2, причем остаток является значением, полученным путем вычитания 3 из абсолютного значения.
6. Способ по п. 5, в котором параметр бинаризации определяют согласно тому, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, которое больше, чем упомянутое пороговое значение, и при этом упомянутая переменная является параметром бинаризации.
7. Устройство декодирования изображения, содержащее:
по меньшей мере один процессор;
по меньшей мере одну память, включающую в себя компьютерный программный код, причем память и компьютерный программный код выполнены, работая с процессором, с возможностью побуждения устройства к осуществлению по меньшей мере следующего:
определения, включает ли в себя непосредственно предшествующий блок коэффициентов, который был декодирован непосредственно перед целевым блоком коэффициентов, коэффициент, имеющий абсолютное значение, большее, чем пороговое значение;
выбора первого контекста, подлежащего использованию при арифметическом декодировании первого флага целевого коэффициента в целевом блоке коэффициентов, причем выбор контекста, подлежащего использованию при арифметическом декодировании первого флага, основан, по меньшей мере частично, на результате определения, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем пороговое значение;
арифметического декодирования первого флага с использованием первого контекста;
выбора второго контекста, подлежащего использованию при арифметическом декодировании второго флага целевого коэффициента в целевом блоке коэффициентов, причем выбор контекста, подлежащего использованию при арифметическом декодировании второго флага, основан, по меньшей мере частично, на результате определения, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем пороговое значение; и
арифметического декодирования второго флага с использованием второго контекста:
при этом пороговое значение равно 1.
8. Устройство по п. 7, в котором первый флаг указывает, больше ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов, чем 1.
9. Устройство по п. 7, в котором второй флаг указывает, больше ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов, чем 2.
10. Устройство по п. 7, в котором определение того, включает ли непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем пороговое значение, основано, по меньшей мере частично, на переменной, генерируемой после арифметического декодирования над непосредственно предшествующим блоком коэффициентов.
11. Устройство по п. 7, в котором память включает в себя компьютерный программный код, выполненный с возможностью, работая с процессором, побуждения устройства к бинаризации остатка согласно таблице преобразования, назначенной параметром бинаризации, из числа множества таблиц преобразования, когда абсолютное значение целевого коэффициента больше, чем 2, причем остаток является значением, полученным путем вычитания 3 из абсолютного значения.
12. Устройство по п. 11, в котором параметр бинаризации определяется согласно тому, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, которое больше, чем упомянутое пороговое значение, и при этом упомянутая переменная является параметром бинаризации.
13. Считываемый компьютером долговременный носитель, на котором кодированы инструкции, которые при исполнении процессором выполняют:
определение, включает ли непосредственно предшествующий блок коэффициентов, который был декодирован непосредственно перед целевым блоком коэффициентов, в себя коэффициент, имеющий абсолютное значение, большее, чем пороговое значение;
выбор первого контекста, подлежащего использованию при арифметическом декодировании первого флага целевого коэффициента в целевом блоке коэффициентов, причем выбор контекста, подлежащего использованию при арифметическом декодировании первого флага, основан, по меньшей мере частично, на результате определения, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем пороговое значение;
арифметическое декодирование первого флага с использованием первого контекста;
выбор второго контекста, подлежащего использованию при арифметическом декодировании второго флага целевого коэффициента в целевом блоке коэффициентов, причем выбор контекста, подлежащего использованию при арифметическом декодировании второго флага, основан, по меньшей мере частично, на результате определения, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем упомянутое пороговое значение; и
арифметическое декодирование второго флага с использованием второго контекста;
при этом пороговое значение равно 1.
14. Носитель по п. 13, в котором первый флаг указывает, больше ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов, чем 1.
15. Носитель по п. 13, в котором второй флаг указывает, больше ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов, чем 2.
16. Носитель по п. 13, в котором определение того, включает ли непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем пороговое значение, основано, по меньшей мере частично, на переменной, генерируемой после арифметического декодирования над непосредственно предшествующим блоком коэффициентов.
17. Носитель по п. 13, на котором дополнительно кодированы инструкции, которые при исполнении процессором выполняют бинаризацию остатка согласно таблице преобразования, назначенной параметром бинаризации, из числа множества таблиц преобразования, когда абсолютное значение целевого коэффициента больше 2, причем остаток является значением, полученным путем вычитания 3 из абсолютного значения.
Топчак-трактор для канатной вспашки | 1923 |
|
SU2002A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ | 2009 |
|
RU2408161C1 |
Авторы
Даты
2023-11-30—Публикация
2023-04-05—Подача